参考文档:https://www.jianshu.com/p/8e5fb5fe0931
调用pdb调试功能:Python -m pdb filename
1.断点 ( b
,tbreak
, 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
删除函数
网友评论