Ubuntu Python调试有哪些方法
小樊
39
2025-12-06 15:08:39
Ubuntu 下常用的 Python 调试方法
一 内置与命令行调试
- 使用 pdb 直接在代码中打断点:在需要暂停的位置插入 import pdb; pdb.set_trace(),运行到该行会进入交互式调试,可查看变量、单步执行等。也可不修改源码,直接用命令 python -m pdb your_script.py 从第一行开始调试。常用命令:n(下一步)、s(进入函数)、c(继续到下一个断点)、l(查看源码上下文)、p 变量(打印变量)、b 行号(设断点)、cl 编号(清除断点)、q(退出)。适合服务器或无图形界面的环境。
二 图形化 IDE 调试
- Visual Studio Code:安装 VS Code 与 Python 扩展,在代码行号左侧点击设置断点,点击左侧调试图标启动调试,可在变量面板查看状态并单步执行。调试配置 launch.json 中可设置 “args” 传递命令行参数,将 “justMyCode”: false 以进入第三方库源码调试;通过 Ctrl+Shift+P → Python: Select Interpreter 选择虚拟环境解释器。
- PyCharm:提供完整的图形化断点、步进、变量/栈查看与条件断点等能力,适合中大型项目与复杂调试流程。
三 增强与远程调试工具
- 增强型命令行调试器:安装 ipdb、pdbpp 获得更好的语法高亮与补全体验;pudb 提供类终端图形界面,更适合在 Linux 下使用(支持远程调试)。安装示例:pip install ipdb pdbpp pudb。
- 远程与无侵入调试:使用 rpdb/ripdb 进行远程调试;PySnooper 通过装饰器自动记录函数执行轨迹与变量变化,减少插入打印语句的改动(适合快速排查数据流问题)。
- 生产问题低开销排查:使用 Py-Spy 进行采样分析,定位性能瓶颈与卡点,通常对运行影响较小。
四 日志与打印以及实用配置
- 结构化日志:使用 logging 输出带时间戳与级别的调试信息,便于回溯。示例:
- import logging
- logging.basicConfig(level=logging.DEBUG, format=‘%(asctime)s - %(levelname)s - %(message)s’)
- logging.debug(‘调试信息’)
- 快速定位技巧:在关键路径补充 print/日志,先缩小问题范围,再结合断点/单步深入;必要时配合 单元测试 验证修复。
- VS Code 常见配置要点:在 launch.json 中设置 “args” 传递参数;调试第三方库时将 “justMyCode”: false;通过 Python 扩展选择正确 解释器/虚拟环境,避免依赖解析错误。