调试器中的Cathing sys.exit()

时间:2017-03-16 13:09:15

标签: python pdb

我的程序意外结束。当我通过pdb运行它时,结束于:

The program exited via sys.exit(). Exit status:                                                                         

但是它退出的实例上没有堆栈记录。我不知道为什么会这样。缺少stepnext一切,有没有办法指示pdb在尝试进入调试器时,而不是尊重sys.exit()

1 个答案:

答案 0 :(得分:1)

一个简单的解决方案是在运行之前修补sys.exit()

$ python -m pdb my_script.py

(Pdb) def no_exit(code): raise RuntimeError('halt')
(Pdb) import sys
(Pdb) sys.exit = no_exit
(Pdb) cont