集成开发环境下调试Python代码非常方便,比如Eclipse+pydev或Aptana。具体过程类似于用Eclipse调试Java程序。
然而,如何在没有界面的Linux控制台下调试Python代码?这里使用Python内置的包pdb。
import pdb
def add(*lstElem, **dctElem):
sum = 0
pdb.set_trace()
for elem in lstElem:
sum += elem
for key in dctElem:
sum += dctElem[key]
return sum
print add(1,2,3)
此时,执行上面的脚本将进入pdb调试阶段。pdb类似于linux下调试工具gdb。 输入help命令, pdb将会打印出所有支持的命令。
主要包括:
Documented commands (type help <topic>):
========================================
EOF bt cont enable jump pp run unt
a c continue exit l q s until
alias cl d h list quit step up
args clear debug help n r tbreak w
b commands disable ignore next restart u whatis
break condition down j p return unalias where
常用的命令有:
a(rgs): 打印当前函数的参数
b(reak):在src指定行,函数处设置断点
bt或w(here):打印stack信息
cl(ear): 清除指定的断点
c(ont(inue)): 继续执行直到下一个断点
l(ist):打印文件文件内容
r(eturn):继续执行直到当前函数返回
s(tep): 执行当前行, 并在第一个可能的位置处停止
n(ext): 执行当前行,直到下一行
p: 打印变量
更加具体的使用信息请参考pdb的手册。