温馨提示×

Ubuntu Python调试工具有哪些

小樊
42
2025-12-10 14:51:54
栏目: 编程语言

Ubuntu 下的 Python 调试工具全景

一 内置与命令行工具

  • pdb:Python 自带的交互式调试器,支持断点、单步、进入函数、查看栈与变量等;在代码中插入 import pdb; pdb.set_trace() 即可在断点处暂停。适合服务器或无图形环境。常用命令:n(下一步)、s(进入函数)、c(继续)、q(退出)、p/pp(打印变量)。
  • ipdb / pdbpp:增强版 pdb,提供 IPython 风格的交互、语法高亮与更友好的体验,适合本地终端调试。
  • pudb:基于控制台的可视化调试器,面向 Linux/macOS,支持变量/栈的直观浏览,适合终端内“图形化”调试。
  • rpdb / ripdb / web-pdb:支持远程调试与浏览器界面(web-pdb),便于调试后台进程、容器或远程主机上的代码。
  • PySnooper:通过装饰器自动记录函数执行轨迹与变量变化,减少插入 print 的改动成本,适合快速排查数据流问题。

二 IDE 与图形化调试

  • Visual Studio Code:安装 Python 扩展,点击行号左侧设断点,侧边调试面板一键启动;支持变量/栈查看、条件断点与单步执行。
  • PyCharm:专业级 Python IDE,断点、步进、变量/栈/表达式求值、远程解释器/远程调试、与测试框架深度集成,适合中大型项目。
  • Spyder:面向数据科学的 IDE,类似 MATLAB 的交互式工作流,调试时可查看全部变量表、支持步进与可视化,适合 NumPy/Pandas/Matplotlib 场景。
  • Thonny:面向初学者的轻量 IDE,内置简单调试器,便于学习 Python 基础与教学。

三 数据科学与深度学习场景

  • Jupyter Notebook:交互式笔记本,支持逐单元运行与 %debug 魔术命令进行事后调试,便于探索式分析与可视化。
  • PyTorch 生态
    • 性能与图分析:torch.autograd.profiler 定位算子/模块耗时与瓶颈。
    • 可视化:TensorBoard 查看标量、图像、直方图与计算图。
    • 常规调试:结合 pdb/ipdb、日志与单元测试,形成闭环。

四 远程与无图形环境

  • 无侵入排查:优先使用 日志(logging)PySnooper 记录执行路径与变量,尽量避免频繁改动业务代码。
  • 终端调试:使用 pdb 进行断点/单步;需要更友好界面时用 pudb
  • 远程/后台进程:使用 rpdb / ripdb / web-pdb 进行远程连接;或在 PyCharm 中配置远程解释器/远程调试会话。
  • 容器与服务器:在容器中暴露调试端口或使用 web-pdb;服务器上以 pdb/增强调试器为主,必要时结合日志与单元测试。

五 快速上手示例

  • 使用 pdb 在代码中打断点:
    import pdb
    
    def compute(a, b):
        x = a + b
        pdb.set_trace()  # 程序在此暂停
        return x ** 2
    
    compute(2, 3)
    
    进入调试后可用 n/s/c/q/p/pp 等命令进行单步、继续、打印与退出。

0