2017-03-16 12 views
1

プログラムが予期せず終了します。私がpdbを実行すると、次のように終わります。デバッガでsys.exit()をキャッシング

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

ただし、終了したインスタンスにスタックのレコードはありません。なぜそれが起こるのか分かりません。 stepnextの間には、sys.exit()の代わりに、pdbにデバッガに入るよう指示する方法がありますか?

答えて

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 
+0

私はそれを試してみましたが、私はまだ同じを取得しています...私に嘘をついているようだPDB?あるいは、 'sys.exit()で終了したプログラム。終了ステータス: 'cコードが' sys.exit() 'をバイパスしてプロセスを終了したとしても? – gerrit