这篇博客是从旧博客 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.settrace()
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/