我一直在玩事后调试,但遇到了一些问题。考虑以下名为的python脚本example.py
:
k = 0
print 1. / k
print 'continue ...'
我可以运行它:
> python -m pdb example.py
然后进入第 2 行print 1. / k
,然后设置k = 1
,然后继续执行 pdb 命令c
。
现在,如果我通过事后调试来执行此操作,我将无法继续执行程序。我运行:
> python -i example.py
然后在我落入外壳后,我做了一个:
import pdb
pdb.pm()
然后我可以像以前一样更改 的值k
,但我无法继续执行任何程序。Pdb 只是简单地退出。
我找不到任何地方明确指出您不能在事后逐步执行程序。似乎是这样。那么我想了解事后调试的价值。发生错误时检查代码状态的唯一值是什么?