linux下调试python,对于轻量级的工程,直接print是最简单的方法,但是当变量变多,工程变大的时候,print就会力不从心,linux下也没有界面IDE,所以就用pdb来调试即是最佳选择,也很简单。也可以用更友好的ipdb,不过ipdb不是python的标准库,是需要安装的,用起来是完全一样的,就类似于python和ipython的区别。
需要import pdb
在需要插入断点的地方用pdb.set_trace()
调试运行的时候用python -m pdb test.py
其他的命令如下:
b(or break):设置断点;设置函数:b demo.func;设置行数:b demo:14(行数)
n(or next):执行下一行:Step over,跳过
c(or continue):执行下一个断点,没有断点则到程序结束:Step filter
s(or step):进入函数,Step into,单步跳入
r(or return):跳出函数,Step return
l(or list):查看当前代码段
q(or quit):退出当前debug
p(or print):打印变量值
h(or help):查看帮助
cl(clear):清除所有节点
cl2(clear 2) : 删除第二个断点
disable [bpnumber[bpnumber]]:将第num个断点失效,enable,失效第10个断点
enable [bpnumber[bpnumber]]:启用第num个断点,enable 10,启用第10个断点
w(where):打印堆栈信息
a(args):打印当前函数参数信息
u (up) : 移动到上一层堆栈
d(down) : 移动到下一层堆栈
run(restart) : 重新开始调试
j(jump) : 调到指定的行