PDB—Python的调试器
我们可以通过非侵入式python -m pdb 文件名.py
方法来调试脚本,当然也可以通过侵入式方法import pdb;pdb.set_trace()
;当看到了(pdb)
代表正确打开了pdb
1.pdb的常用命令
1.查看源代码
l
查看当前位置前后11行代码
ll
查看当前函数或框架的所有源代码
2.添加断点
b #1.不带参数表示查看断点设置#2.带参则在指定位置设置一个断点
b lineno #lineno,断点添加到哪一行
b filename:lineno #filename--文件名,断点添加到哪个文件
b functionname #functionname:函数名,在该执行函数的第一行设置断点
3. 添加临时断点
tbreak
tbreak lineno
tbreak filename:lineno
tbreak functionname
#参数同b
#执行一次后自动删除
4.清除断点
cl
cl filename:lineno
cl bpnumber [bpnumber ...] #bpnumber 断点序号(多个以空格分隔)
5.打印变量值
p expression #expression Python表达式
6.逐行调试命令
s #执行下一行(能够进入函数体)
n #执行下一行(不会进入函数体)
r #执行下一行(在函数中时会直接执行到函数返回处)
7.非逐行调试命令
c #持续执行下去,直到遇到一个断点
unt lineno #持续执行直到运行到指定行(或遇到断点)
j lineno #直接跳转到指定行(注意,被跳过的代码不执行)
8.查看函数参数
a #在函数中时打印函数的参数和参数的值
9.打印变量类型
whatis expression #打印表达式的类型,常用来打印变量值
10.启动交互式解释器
interact #启动一个python的交互式解释器,使用当前代码的全局命名空间(使用ctrl+d返回pdb)
11.打印堆栈信息
w #打印堆栈信息,最新的帧在最底部。箭头表示当前帧
12.退出pdb
q