在Ubuntu环境下调试Python代码其实没有想象中那么复杂。从工具选择到具体操作,这里梳理了几种主流方案,从入门级到专业级,看看哪一款最适合你的开发场景。

pdb调试器:上手最快的命令行方案
Python内置的pdb调试器就像瑞士军刀一样轻便易用。如果你只是编写小型脚本或需要快速定位错误,完全无需安装任何第三方工具。
- 设置断点:在代码中想要暂停的位置插入
import pdb; pdb.set_trace(),当程序执行到此处时会自动进入交互式调试模式。 - 常用命令:
n(next):单步执行,跳过函数内部细节。s(step):进入函数内部,适合检查子过程逻辑。c(continue):继续运行,直到遇到下一个断点。p 变量名:直接查看变量的当前值。l(list):显示断点前后几行代码,帮助定位上下文。q(quit):退出调试器。
PyCharm:图形化调试的“电锯”
如果你的项目比较复杂,或者你已经习惯使用IDE,PyCharm社区版足以应对日常调试需求。
- 安装:在终端执行
sudo snap install pycharm-community --classic即可完成。 - 配置:打开项目后,点击右上角
Add Configuration,选择Python类型,填写脚本路径和工作目录,其余选项通常保持默认即可。 - 断点:在行号左侧点击一下,出现红点即代表断点已设置。
- 启动调试:点击工具栏上绿色小虫子图标,程序会在断点处暂停。随后可使用
Step Over(F8)、Step Into(F7)、Resume Program(F9)进行精细控制。变量值在Variables窗口中清晰展现。
VS Code:“轻量级快刀手”
VS Code的Python扩展功能相当完善,偏好简洁界面的开发者会感到非常顺手。
- 安装:从官网下载VS Code,安装后在扩展市场搜索“Python”,选择Microsoft官方发布的扩展。
- 配置:按下
F5或点击左侧调试图标,选择“create a launch.json file”,然后选定Python环境。为你的脚本路径配置如下参数:{“name”: “Python Debug”,“type”: “python”,“request”: “launch”,“program”: “${workspaceFolder}/your_script.py”,“console”: “integratedTerminal”,“workingDirectory”: “${workspaceFolder}”}启动调试后,操作体验与PyCharm类似。
gdb:搞定C扩展的底层问题
如果故障源自Python解释器本身或C扩展模块,普通调试器往往无能为力。此时需要借助gdb这一底层利器。
- 安装:执行
sudo apt-get install gdb python-dbg - 使用:输入
sudo gdb -p <进程ID>,随后可使用py-bt查看Python调用栈,bt查看C调用栈,还可以检查线程信息。
辅助技巧:让调试更丝滑
breakpoint():Python 3.7及以上版本内置的函数,比pdb.set_trace()更简洁,且能通过环境变量自由控制开关。- 日志记录:对于长期运行的程序或分布式系统,使用
logging模块记录调试信息比手动打断点更高效。示例:import logginglogging.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编写测试用例,验证代码逻辑的正确性,能有效减少重复的手动调试工作。
