質問

私は、ときに例外火災、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/

他のヒント

タグpyclewn使用

あなたはvimので pyclewn を使用することができます。 またはPDB-クローン、pyclewnのコアを使用 その良い、そのGDBのような、できるリモートデバッグ

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top