python断点调试方法
(Pdb)list
importpdb
a=aaa
pdb.set_trace()
b=bbb
c=ccc
-》final=a+b+c
printfinal
[EOF]
(Pdb)
[EOF]
(Pdb)n
》/root/epdb1.py(7)?()
-》printfinal
(Pdb)
退出debug:使用quit或者q可以退出当前的debug,但是quit会以
importpdb
a=aaa
pdb.set_trace()
b=bbb
c=ccc
final=a+b+c
printfinal
开始调试:直接运行脚本,会停留在pdb.set_trace()处,选择n+enter
可以执行当前的statement。在第一次按下了n+enter之后可以直接按enter
表示重复执行上一条debug命令。
python断点调试方法
pdb是python自带的一个包,为python程序提供了一种交互的源代码
调试功能,主要特性包括设置断点、单步调试、进入函数调试、查看当前代
码、查看栈片段、动态改变变量的值等。pdb提供了一些常用的调试命令,
详情见表1。
下面结合具体的实例讲述如何使用pdb进行调试。
清单1.测试代码示例
Fileepdb1.py,line5,in?
c=ccc
Fileepdb1.py,line5,in?
c=ccc
File/usr/lib64/python2.4/bdb.py,line48,intrace_dispatch
returnself.dispatch_line(frame)
File/usr/lib64/python2.4/bdb.py,line67,indispatch_line
ifself.quitTIng:raiseBdbQuit
bdb.中打印变量的值,可以直接使用p
加上变量名,但是需要注意的是打印仅仅在当前的statement已经被执行了
之后才能看到具体的值,否则会报NameError:《
Error。。。。》错误。
清单2.利用pdb调试
[root@rcc-pok-idg-2255~]#pythonepdb1.py
》/root/epdb1.py(4)?()
-》b=bbb
(Pdb)n
》/root/epdb1.py(5)?()
-》c=ccc
(Pdb)
》/root/epdb1.py(6)?()
-》final=a+b+c
一种非常粗鲁的方式退出程序,其结果是直接crash。
清单3.退出debug
[root@rcc-pok-idg-2255~]#pythonepdb1.py
》/root/epdb1.py(4)?()
-》b=bbb
(Pdb)n
》/root/epdb1.py(5)?()
-》c=ccc
(Pdb)q
Traceback(mostrecentcalllast):