pdb是Python内置调试工具,可在代码中用breakpoint()设置断点,支持n、s、c、l、p、pp、q等命令进行单步执行、查看变量和控制程序流程,也可通过python -m pdb script.py命令行启动,结合pp locals()可高效排查问题。

调试 Python 程序时,pdb 是一个非常实用的内置模块。它让你可以在代码中设置断点、逐行执行、查看变量值、调用函数等,帮助你快速定位问题。
1. 在代码中插入断点
最常用的方式是在你想暂停的地方插入:
import pdb; pdb.set_trace()当程序运行到这一行时,会中断并进入 pdb 调试模式,命令行出现 (Pdb) 提示符,你可以输入命令进行调试。
从 Python 3.7 开始,推荐使用更简洁的写法:
立即学习“Python免费学习笔记(深入)”;
breakpoint()这个函数默认调用的就是 pdb,而且可以通过环境变量控制是否启用,更灵活。
2. 常用调试命令
进入 pdb 后,以下命令非常实用:
本文档主要讲述的是Python之模块学习;python是由一系列的模块组成的,每个模块就是一个py为后缀的文件,同时模块也是一个命名空间,从而避免了变量名称冲突的问题。模块我们就可以理解为lib库,如果需要使用某个模块中的函数或对象,则要导入这个模块才可以使用,除了系统默认的模块(内置函数)不需要导入外。希望本文档会给有需要的朋友带来帮助;感兴趣的朋友可以过来看看
- n(next):执行当前行,进入下一行
- s(step):进入函数内部,逐行执行
- c(continue):继续执行直到下一个断点或程序结束
- l(list):显示当前代码上下文
- p 变量名:打印变量的值,比如 p x
- pp 表达式:漂亮地打印复杂对象(如字典、列表)
- q(quit):退出调试器并终止程序
- h(help):查看所有可用命令
3. 命令行启动 pdb
你也可以不修改代码,直接在终端运行时启用 pdb:
python -m pdb your_script.py程序启动后会停在第一行,你可以用 c 跳到断点,或用 l 查看代码,再结合 n 或 s 执行。
4. 实际使用小技巧
调试过程中可以动态执行代码。比如在 (Pdb) 提示符下直接输入变量名查看,或调用函数测试逻辑。
如果误入某个函数不想一步步走,可以用:
- r(return):运行完当前函数并返回
想跳过某段循环或判断,可以用:
- j 行号:跳转到指定行(谨慎使用,可能跳过初始化)
基本上就这些。pdb 不复杂但容易忽略细节,多练几次就能熟练掌握。调试时别忘了用 pp locals() 看当前所有变量,很实用。










