30

以下を使用して、Python スクリプトのエラーを検査するのが好きです。

$ python3 -m pdb my_script.py

cこれにより、実行を続行できる pdb プロンプトが表示されます。エラーが発生した場合は、変数を調べqてスクリプトの実行を終了し、シェルに戻ることができます。

よりカラフルなので、iPythonデバッガーモジュールで同じことを試しました:

$ python3 -m ipdb my_script.py

ただし、エラーの調査が完了すると、デバッガーを終了できません。quit コマンドを使用qすると、スクリプトの再実行と事後分析モードを切り替えるだけです。

$ python3 -m ipdb my_script.py
ipdb> c
Uncaught exception. Entering post mortem debugging
Running 'cont' or 'step' will restart the program
ipdb> Inspect some variables at this point
ipdb> q
Post mortem debugger finished. The my_script.py will be restarted
ipdb> q
Uncaught exception. Entering post mortem debugging
Running 'cont' or 'step' will restart the program
ipdb> q
Post mortem debugger finished. The my_script.py will be restarted
ipdb> q
Uncaught exception. Entering post mortem debugging
Running 'cont' or 'step' will restart the program
ipdb> q
Post mortem debugger finished. The my_script.py will be restarted
ipdb> q
Uncaught exception. Entering post mortem debugging
Running 'cont' or 'step' will restart the program

このデバッガを終了するには?

4

3 に答える 3

39

ユーザー @ffeast がコメントしたように、未解決の ipdb の問題があり、いくつかの回避策が提案されています。私にとって、これらはうまくいきました:

  • ctrl+zkill %1(またはジョブ番号が何であれ)を押します。
  • 実行するipdb> import os; os._exit(1)
于 2016-10-27T08:00:57.507 に答える