启动pdb调试方法
- 命令行启动目标程序,加上-m参数,这样调用myscript.py的话断点就是程序的执行第一行之前
python -m pdb myscript.py
2.在Python交互环境中启用调试
> import pdb
> import mymodule
> pdb.run('mymodule.test()')
3.在程序中间插入一段程序
import pdb; pdb.set_trace()
常用命令
回车是重复前一条命令
p(print), 查看一个变量值
n(next), 下一步
s(step), 单步,可进入函数
c(continue),继续前进
l(list),看源代码
j(ump),让程序跳转到指定的行数
!,感叹号后面跟着语句,可以直接改变某个变量
q(uit),退出调试
h(elp),会打印当前版本Pdb可用的命令,如果要查询某个命令,可以输入 h [command],例如:“h l” — 查看list命令
cl(ear),如果后面带有参数,就是清除指定的断点;如果不带参数就是清除所有的断点
disable/enable,禁用/激活断点
a(rgs),打印当前函数的参数
断点操作
断点设置
(Pdb)b 10 #断点设置在本py的第10行
(Pdb)b ots.py:20 #断点设置到ots.py第20行
删除断点
(Pdb)b #查看断点编号
(Pdb)cl 2 #删除第2个断点运行
(Pdb)n #单步运行
(Pdb)s #进入方法
(Pdb)c #跳到下个断点查看
(Pdb)p param #查看当前 变量值
(Pdb)l #查看运行到某处代码
(Pdb)a #查看全部栈内变量设置条件断点,下面语句就是对第4个断点加上条件“a==3”
(Pdb) condition 4 a==3