2009-04-27

使用pdb调试python程序

python程序也可以实现类似于c/c++的单步调试功能,而python中的调试模块pdb类似于c中的gdb(常用命令等),可以进行方便的调试。
下面是一个例子(debug_demo.py):

#!/usr/bin/env python
_debug = True

def debug_demo(val):
if _debug:
import pdb
pdb.set_trace()           #引入相关的pdb模块
if val < 10:
print "less than 10"
elif val<20:
print "less than 20, but big than 10"
else:
print "other condition"

在命令行中按如下方法进行调试:

python debug_demo.py
这时会进入类似于gdb的界面,启动相关的调试

> /home/tower/test/python/debug.py(9)debug_demo()
-> if val <= 10:
(Pdb)

可以输入h来查看可用的命令集(很类似于gdb)。
单步调试对于某些情况下的调试是非常有帮助的。

更多参考:

没有评论: