Ubuntu下Python调试环境怎么设置
导读:Ubuntu下Python调试环境设置方法 1. 使用Python内置pdb命令行调试器(基础首选) pdb是Python标准库自带的命令行调试工具,无需额外安装,适合简单调试或脚本快速排查问题。  设置断点:在代码中需要暂停的位置插入im...
    
Ubuntu下Python调试环境设置方法
1. 使用Python内置pdb命令行调试器(基础首选)
pdb是Python标准库自带的命令行调试工具,无需额外安装,适合简单调试或脚本快速排查问题。
- 设置断点:在代码中需要暂停的位置插入import pdb; pdb.set_trace(),程序执行到该行会进入交互式调试模式。
- 常用调试命令:
- n(next):执行下一行代码(跳过函数调用);
- s(step):执行下一行代码并进入函数内部;
- c(continue):继续执行直到下一个断点或程序结束;
- p 变量名(print):打印指定变量的值;
- l(list):显示当前代码段的上下文(默认显示断点前后5行);
- q(quit):退出调试器并终止程序。
 
2. 使用PyCharm IDE调试(图形化深度调试)
PyCharm是Python开发的主流IDE,提供可视化调试界面,适合复杂项目或需要精细调试的场景。
- 安装PyCharm:通过终端命令安装社区版(免费):sudo snap install pycharm-community --classic。
- 配置调试环境:
 打开项目后,点击右上角Add Configuration→选择Python→设置Script path(脚本文件路径)、Working directory(项目工作目录)、Parameters(脚本参数,可选)→点击OK保存。
- 设置断点:在代码行号左侧空白区域点击,出现红色圆点即为断点。
- 启动调试:点击工具栏绿色虫子图标(Debug)或通过菜单Run→Debug启动,程序会在断点处暂停。
- 调试操作:
- 使用调试工具栏的Step Over(F8,执行当前行)、Step Into(F7,进入函数)、Step Out(Shift+F8,跳出函数)、Resume Program(F9,继续执行)控制流程;
- 在Variables(变量)或Watches(监视)窗口查看变量值;
- 在Run(运行)窗口查看程序输出和日志。
 
- 使用调试工具栏的
3. 使用Visual Studio Code(VS Code)调试(轻量级灵活)
VS Code是轻量级代码编辑器,通过安装Python扩展可实现便捷调试,适合偏好简洁界面的开发者。
- 安装VS Code与扩展:从官网下载安装VS Code,打开扩展市场(左侧活动栏→扩展图标),搜索Python并安装Microsoft官方扩展。
- 配置launch.json文件:
 打开项目后,按下F5或点击左侧调试图标→点击create a launch.json file→选择Python环境→修改配置:{ "name": "Python Debug", "type": "python", "request": "launch", "program": "${ workspaceFolder} /your_script.py", // 脚本路径(${ workspaceFolder} 表示项目根目录) "console": "integratedTerminal", // 使用集成终端 "workingDirectory": "${ workspaceFolder} " // 工作目录 }
- 设置断点与启动调试:在代码行号左侧点击设置断点,点击调试工具栏绿色三角形(Start Debugging)启动,程序会在断点处暂停,后续操作与PyCharm类似(如单步执行、查看变量)。
4. 使用gdb调试Python程序(底层C扩展问题排查)
若需调试Python解释器本身的C扩展或底层问题(如C编写的Python模块),可使用gdb结合python-dbg包。
- 安装工具:通过终端安装gdb和python-dbg:sudo apt-get install gdb python-dbg。
- 调试步骤:
- 启动gdb并附加到Python进程:sudo gdb -p < PID>(< PID>为Python进程ID,可通过ps aux | grep python获取);
- 查看Python调用栈:使用py-bt命令(显示Python层调用栈),bt命令(显示C层调用栈);
- 其他常用命令:info threads(查看线程信息)、thread < ID>(切换线程)、print < 变量名>(打印变量值)。
 
- 启动gdb并附加到Python进程:
5. 辅助调试技巧(增强调试效率)
- 使用breakpoint()函数:Python 3.7+内置breakpoint()函数,可替代pdb.set_trace(),更简洁且支持环境变量控制(如PYTHONBREAKPOINT=0禁用断点)。
- 日志记录:通过logging模块记录程序运行信息,适合长期运行的程序或分布式系统调试:import logging logging.basicConfig( filename='app.log', level=logging.DEBUG, format='%(asctime)s - %(name)s - %(levelname)s - %(message)s' ) logging.debug('This is a debug message') # 记录调试信息
- 单元测试:使用unittest或pytest框架编写单元测试,验证代码逻辑的正确性,避免重复手动调试。
声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!
若转载请注明出处: Ubuntu下Python调试环境怎么设置
本文地址: https://pptw.com/jishu/740216.html
