同時に、デバッガと呪いを使用していますか?
-
19-09-2019 - |
質問
私は、ときに例外火災、python -m pdb myapp.py
を呼んでいる、と私は通常、問題を調査するために、PDBインタプリタに戻って投げられるだろう。私はcurses.wrapper()
を通じて呼ばれ、無用PDB通訳をレンダリング、呪いモードを入力した後ただし、この例外がスローされています。どのように私はこの問題を回避することができますか?
解決
James`の答えは良いですが、私はそれをupvotedしましたが、私はまた、私のプログラムのロジックとプレゼンテーション層を分割しようとして検討したいです。ライブラリーの一番上に呪いの一部に薄い層を維持し、エラーを再現するために、正しいルーチンを呼び出す単純なドライバを書きます。そして、あなたはで飛び込むと、必要な何行うことができます。
私は考えることができるもう一つの方法は、通常の画面に戻りますスローし、PDBを呼び出すdebug
か何かと呼ばれる関数を作成することです。それからちょうど例外を送出し、プログラムを実行するコードの前にそれを貼り付けます。
def debug(stdscr):
curses.nocbreak()
stdscr.keypad(0)
curses.echo()
curses.endwin()
import pdb; pdb.set_trace()
どうやら、これはcurses.wrapper
機能で行われているものに似ています。これは http://www.amk.ca/python/howto/curses/で簡単に言及しています>。
他のヒント
はPythonに精通していない、これは正確にあなたが望むものではないかもしれません。しかし、どうやら、winpdbはスクリプトに添付することができます - ちょうど実行中のプロセス(IIUC)にgdbの缶のように。
http://winpdb.org/docs/launch-time/する
名前で誤解されてはいけない、それはプラットフォームに依存します。
タグpyclewn使用
あなたはvimので pyclewn を使用することができます。 またはPDB-クローン、pyclewnのコアを使用 その良い、そのGDBのような、できるリモートデバッグ