我的程序意外结束。当我通过pdb运行它时,结束于:
The program exited via sys.exit(). Exit status:
但是它退出的实例上没有堆栈记录。我不知道为什么会这样。缺少step
和next
一切,有没有办法指示pdb
在尝试进入调试器时,而不是尊重sys.exit()
?
答案 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