Tanky WooRSS

使用pdb调式Python程序

24 Apr 2012
这篇博客是从旧博客 WordPress 迁移过来,内容可能存在转换异常。

C/C++调式程序有GDB,而Python也有专门用来调式的模块 --- pdb。

这是官方的document:pdb — The Python Debugger

代码:

file: pdb_demo.py

!/usr/bin/python

x = 5

def demo():
if x < 3:
print "x < 3"
else:
print "x > 3"

if name == 'main':
demo()

pdb可以像脚本一样通过参数来调用:

python –m pdb pdb_demo.py

来进行调式。

也可以直接修改源代码来使用pdb模块:

file: pdb_demo.py

!/usr/bin/python

_DEBUG = True
x = 5

def demo():
if x < 3:
print "x < 3"
else:
print "x > 3"

if name == 'main':
if DEBUG:
import pdb
pdb.set
trace()
demo()

这样可以方面的开启/关闭调式模式。

pdb运行时的命令:

命令 用途

















break 或 b 设置断点
continue 或 c 继续执行程序
list 或 l 查看当前行的代码段
step 或 s 进入函数
return 或 r 执行代码直到从当前函数返回
exit 或 q 中止并退出
next 或 n 执行下一行
pp 打印变量的值
help 帮助

参考资料:

http://docs.python.org/library/pdb.html

http://www.vpsee.com/2009/09/debug-python-programwith-pdb/

http://www.cnblogs.com/mindsbook/archive/2009/07/19/pdb.html

http://neoremind.net/2012/02/%E4%BD%BF%E7%94%A8pdb%E8%B0%83%E8%AF%95python%E7%A8%8B%E5%BA%8F/