Python断点调试可使用breakpoint()函数(Python 3.7+内置)、IDE图形化调试(如VS Code)及pdb命令行工具;支持条件断点、仅我的代码、异常自动中断和变量动态修改。

Python断点调试不是只能靠print()硬猜,用好breakpoint()和调试器,能快速定位变量状态、逻辑分支和异常源头。
设置断点:最简方式是breakpoint()
Python 3.7+ 内置了breakpoint()函数,效果等同于在代码中插入断点。运行时执行到这一行会自动暂停,并进入交互式调试环境(默认调用pdb)。
- 在想暂停的地方直接写
breakpoint(),无需导入模块 - 支持条件断点:比如
if i == 10: breakpoint() - 可临时禁用:设置环境变量
PYTHONBREAKPOINT=0,让breakpoint()变成空操作
在IDE中可视化调试(以VS Code为例)
图形化界面让断点管理更直观,变量查看更高效。
- 点击代码行号左侧灰色区域,出现红点即设好断点;再次点击可取消
- 按
F5启动调试,程序会在第一个断点处暂停 - 调试面板中可实时查看局部变量、全局变量、调用栈
- 快捷键:
F10单步跳过(Step Over),F11单步进入(Step Into),Shift+F11跳出当前函数(Step Out)
调试常见场景应对技巧
实际开发中,问题往往藏在循环、异步或异常处理里。
立即学习“Python免费学习笔记(深入)”;
-
循环内只在特定次数中断:右键断点 → “编辑断点” → 设置条件如
i == 5或len(data) > 100 -
跳过库代码,专注自己的逻辑:在VS Code中启用“仅我的代码”(Just My Code),避免误入
requests、numpy等内部流程 - 捕获未处理异常时自动断点:在调试配置中勾选“Raised Exceptions”,程序抛出异常瞬间就会暂停,方便查看异常前的变量值
进阶:用pdb命令行调试(不依赖IDE)
当远程服务器或纯终端环境下,pdb是可靠选择。
- 运行脚本时加
-m pdb:例如python -m pdb myscript.py - 常用命令:
n(next,执行下一行)、s(step,进入函数)、p var_name(打印变量)、c(continue,继续运行) - 想动态修改变量?在
pdb提示符下直接输入var = new_value即可,下次p var就能看到更新结果










