1. 命令行使用pdb
(1) 我们先写个简单的python程序a.py如下:
for i in range(0,3):
print(i)
print("@@@@")
print("###")
(2) 用pdb调试
$ pdb a.py # 此后看到 > 提示符,即可以输入命令调试
2. 常用pdb命令
pdb命令和gdb差不多,最常用的命令如下:
(1) 单步调试(进入函数):s(tep)
(2) 单步调试(不进入函数):n(ext)
(3) 继续往后执行,直到下个断点:c(ont(inue))
(4) 运行到函数结束:r(eturn)
(5) 运行到当前循环结束:unt(il)
(6) 设置断点:b(reak) 文件名:行号(或行号,或函数名)
(7) 显示当前调用关系:w(here)
(8) 显示当前代码段:l(ist)
(9) 显示变量:p(rint) 变量名
(10) 显示当前函数的参数:a(rgs)
(11) 显示帮助信息:h(elp)
(12) 退出:q(uit)
3. Notebook使用pdb
(1) 单步调试
用Notebook开发时,常把功能分块写入Cell分别调试,类似单步调试,但有时需要在现有函数内部调试,或者单步运行,此时可以直接在程序中打断点:想在哪儿打断点,就在该处输入:
import pdb; pdb.set_trace()
运行到此处时就出现了pdb的命令行,此时我们可以输入上方的pdb命令单步调试,也可以在输入框中运行python语句。
(2) 程序报错时调出pdb
在程序中加入%pdb即可