一、意义
比起使用print与log,它更能提高工作效率。
二、具体使用
1、进入pdb
1.1、修改代码侵入
在程序开始运行前一行,插入import ipdb; ipdb.set_trace()
1.2、运行时侵入
python {filename} -m pdb
2、断点
2.1、在制定位置设置断点
b
b lineno
b filename:lineno
b functionname
filename:文件名,断点添加到哪个文件,如test.py
lineno:断点添加到哪一行
functionname:函数名,在该函数执行的第一行设置断点
2.2、在制定位置设置临时断点
tbreak
tbreak lineno
tbreak filename:lineno
tbreak functionname
执行一次后时自动删除(这就是它被称为临时断点的原因)
2.3、清除断点
cl
cl filename:lineno
cl bpnumber [bpnumber ...]
bpnumber 断点序号(多个以空格分隔)
3、打印数据
p expression #expression为python表达式
4、下一行
4.1、下一行是函数时,进入函数体
s
4.2、下一行是函数时,不进入函数体
n
4.3、下一行是函数时,进入到函数体的return处
r
5、跳行
5.1、一直运行,直到遇到断点
c
5.2、持续执行直到运行到指定行(或遇到断点)
unt lineno
5.3、直接跳转到指定行(注意,被跳过的代码不执行)
j lineno
6、启动交互模式
interact
(在这一刻,你可以使用到此刻的全局命名空间)
7、查看源代码
7.1、查看上下文11行
l
7.2、查看当前函数及框架的所有源码
ll
8、退出pdb
q