pdb调试

作者: Bystander_1996 | 来源:发表于2019-10-10 09:59 被阅读0次

参考文档:https://www.jianshu.com/p/8e5fb5fe0931

调用pdb调试功能:Python -m pdb filename

1.断点 ( btbreak, cl , disable,enable,ignore bpnumber,condition bpnumber)

b设置断点

b num: 给第num行打断点
b function_name:当前文件函数名为 function_name 的函数打断点
b test1.A.add:在 import test1 文件的 A 类的 add 方法打断点
b A.add:在 A 类的 add 方法打断点

tbreak:设置临时断点

tbreak: 设置临时断点,运行完自动删除,和以上设置方式一致)

cl:清除断点

cl:清除所有断点
cl 3:清除断点列表中第3个断点
cl test.py:18:清除 test.py 文件的第18行的断点
cl test1:18:清除 import test1 文件的第18行断点

disable,enable:停用启用断点

和以上cl的用法一致

ignore bpnumber:忽略断点几次

ignore 1 3:忽略断点列表中第1个断点3次,一般循环中用

condition bpnumber:断点条件

condition 5 i==0:当断点列表中第5个断点中变量 i 等于 0 的时候执行断点

2.显示代码( l , w )

l: 查看当前位置的代码
l 5, 20: 列出5到20行代码
w :显示当前的执行位置

3. 执行(s, n, unt, r , c, run

s:执行下一条命令,如果本句是函数调用,则 s 会执行到函数的第一句
n:执行下一条语句,如果本句是函数调用,则执行函数,接着执行当前执行语句的下一条。
unt:执行到下一行
r:执行当前运行函数到结束
c:继续执行,直到遇到下一条断点
run:重新执行

4.调试工具(p, pp, a

p params:打印 params 参数
pp expression:格式化打印出来的结果
a: 显示当前所有变量
commands num:给断点num写测试脚本以end结束脚本

5.其他

j:跳转至指定程序行(如果是前行,则忽略中间行代码。如果是后退,状态重设为回退行状态)
alias :自定义一个函数,参数可由%1,%2来表示,类似 Python 的 lambda
unalias name删除函数

相关文章

网友评论

      本文标题:pdb调试

      本文链接:https://www.haomeiwen.com/subject/yejpuctx.html