使用pdb调式Python程序

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/

发布者

Tanky Woo

Tanky Woo,[个人主页:https://tankywoo.com] / [新博客:https://blog.tankywoo.com]

发表评论

电子邮件地址不会被公开。 必填项已用*标注