参考http://blog.csdn.net/u010951938/article/details/50789993
Python有自带的pdb库,可以实现简单的调试功能,基本命令与gdb类似,不过功能不会有gdb那么强大,pdb主要支持多断点设置(可条件设置),代码级单步调试,查看堆栈信息,代码查看。命令行启动目标程序,加上-m参数,这样调用myscript.py的话断点就是程序的执行第一行之前:
- python -m pdb myscript.py
正常运行脚本后,到了pdb.set_trace()那就会定下来,就可以看到调试的提示符(Pdb)了
- 一些常用指令:
-
- h(elp) [comman] #打印可用指令及帮助信息
-
- r(eturn) #运行代码直到下一个断点或当前函数返回
-
- b(reak) [[filename:]lineno | function[, condition]] #指定文件某行或函数体来设置断点
-
- l(ist) [first[, last]] #查看指定代码段
-
- n(ext) #执行下一行
-
- s(tep) #执行下一行,若为函数则进入函数体
-
- p #打印某个变量
-
- a(rgs) #打印当前函数的参数
-
- w(here) #打印堆栈信息
-
- d(own) #移至下层堆栈
-
- u(p) #移至上层堆栈
-
- j(ump) #跳转到指定行
-
- continue / c #继续执行
-
- disable [bpnumber [bpnumber]] #失效断点
-
- enable[bpnumber [bpnumber]] #启用断点
-
- cl(ear) [filename:lineno | bpnumber [bpnumber]] #删除断点
-
- q(uit)/exit #中止调试并退出