pdb模块 主要用于调试程序
1作用:
1.让程序单步执行,并跟踪程序的执行流程
2 在运行查看变量的值
3 让程序控制程序的执行流程
2 二分查找思想
3 方法 pdb.set_trace()
作用:让此代码段进行调试模式 进入到调试器中
函数调用是一个表达式
4 pdb调试命令
q/quit 退出pdb调试器
l/list 列出源码
h/help 查看pdb帮助
p/pp 表达式运行表达式并返回结果
例如:
p x**y
p f1(100)
不过表达式中的变量或函数必须是p命令前已经定义好了,还可写出打出语句等,不牵扯到以上的变量或函数
n/next 执行下一条语句
c/cont/continue 继续执行,直到下一个断点
b/break 断点位置 设置断点
cl/clear 断点号 清楚断点
s/step 进入到函数内部执行(未设置函数断点的情况下,已为函数设置断点时会直接进入)验证
r/return 持续执行,直到此函数返回
w/where 打印函数调用栈 (是谁在调用此函数)
run [命令行参数] 重新开始执行程序
5 pdb断点的设置方法
1)文件名:行号
(pdb) b test_pdb.py : 19
2) 当前文件的行号
(pdb)b 20 #等同于 b test_pdb.py : 20
3) 函数名(调用此函数时进入调试模式)
(pdb)b f1
4)模块.函数名
(pdb)b contra.play
6 控制台下的pdb调试:
控制台下运行pdb调试器的命令格式:
python3 –m pdb xxxx.py
(pdb)
注:xxxx.py内不需要导入pdb模块和调用set_trace()