经常看到QQ群里面有朋友问python程序该如何调试的问题. 学会用pdb之前 我也一直很困惑. 原来在eclipse下使用Pydev开发的时候 可以使用pydev自带的调试工具.
转到emacs下开发后 发现啦 pdb 以及pdb的加强版 ipdb 这些工具相当的强大.. 用起来也非常容易
首先需要安装 pdb 貌似是内置在python中的. 不需要安装
ipdb
$ pip install ipdb
就可以啦
在程序需要中断的地方插入
from ipdb import set_trace
set_trace()
运行程序后, 会在执行到set_trace()的时候中断程序 并出现提示符
(ipdb) ...
这时输入help即可看到ipdb下常用的命令啦
比较常用的是看看当前的变量 a 以及下一步 n
还有就是 dir() 方法 可以查看一个对象有那些方法可以调用
ipdb比pdb的强大在于 他包含啦 ipython 特性. 可以支持tab补全
这在调试django程序的时候特别有用.