除了将所有代码包装进去之外try
except
,还有什么方法可以实现与运行脚本一样的功能python -mpdb script
吗?我希望能够看到引发异常时出了什么问题。
问问题
479 次
3 回答
3
如果你不想修改源代码,那么你可以从ipython运行它——一个增强的交互式 python shell。
例如,运行 ipython 然后执行%pdb on
以启用事后调试。 %run scriptname
然后将运行脚本并在任何未捕获的异常上自动进入调试器。
或者%run -d scriptname
将在调试器中启动脚本。
于 2010-02-25T20:23:35.457 回答
1
python -i script
当引发异常时,会将您留在交互式外壳中;然后
import pdb
pdb.pm()
会让你进入事后调试器,这样你就可以做所有通常的调试事情。
只要您的脚本不调用 sys.exit,这应该可以工作。(哪些脚本不应该这样做,因为它破坏了这种非常有用的技术!以及使它们更难编写测试。)
于 2010-02-26T04:30:49.633 回答
-1
import pdb; pdb.set_trace()
于 2010-02-25T20:18:08.593 回答