不像在IDE中调试C++和java那样,pdb调试是一种交互式的调试;也就是说调试人员可以主动输入命令,而非点击鼠标,来控制调试的流程。
举个例子,以下代码中:
1 import pdb 2 a = "aaa" 3 pdb.set_trace() 4 b = "bbb" 5 c = "ccc" 6 final = a + b + c 7 print final
我想观察第2行 a = "aaa" 以后的流程,那么就在该语句后加入 pdb.set_trace(),运行程序:
[email protected]:~/yxm_shells$ python test.py
则会出现一下代码:
> /home/junjiehuang/yxm_shells/test.py(4)<module>() -> b = "bbb" (Pdb)
也即提醒用户输入调试命令,我们输入命令"n",表示执行下一行,按回车:
> /home/junjiehuang/yxm_shells/test.py(5)<module>() -> c = "ccc" (Pdb)
类似的,我们有一整套命令用于调试,具体可查看IBM官网的一篇文章: https://www.ibm.com/developerworks/cn/linux/l-cn-pythondebugger/