温馨提示×

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:提供完整的图形化断点、步进、变量/栈查看与条件断点等能力,适合中大型项目与复杂调试流程。

三 增强与远程调试工具

  • 增强型命令行调试器:安装 ipdbpdbpp 获得更好的语法高亮与补全体验;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 扩展选择正确 解释器/虚拟环境,避免依赖解析错误。

0