4

Django アプリケーションで GDB のリバース デバッグを使用しようとしています。GDB で実行できますが、逆方向に実行することはできません。

Ctrl-Z で Django アプリを停止reverse-nextし、gdb プロンプトで入力すると、「ターゲット マルチスレッドはこのコマンドをサポートしていません」というエラー メッセージが表示されました。

私はそれを間違っていますか?これは可能ではありませんか?両方?

4

3 に答える 3

2

リバース デバッグに GDB を使用する前に、ここtarget recordに記載されているように、コマンドを使用してプログラムの実行を記録する (再生できるようにする) ように指示する必要があります。

ただし、これがDjangoアプリケーションのデバッグに役立つかどうかはわかりません.GDBは「ネイティブ」コード(コンパイル済みC/C++)のデバッグに適していますが、「解釈された」コードのデバッグには適していません(順方向または逆方向)。

于 2010-09-29T03:00:22.287 に答える
0

それは驚くほど良い質問です。

私の最初の衝動は、django のシェルとして IPython を使用していることを確認し、この場合に pdb サポートが役立つかどうかを確認することです。Pdb は、gdb と非常によく似たインターフェイスを持つ必要があります。私が思い出したように、gdb は C/C++ プログラムのデバッグに使用され、django は Python インタープリターによって実行されます。Pdb の使用方法は次のとおりです。

http://ericholscher.com/blog/2008/aug/31/using-pdb-python-debugger-django-debugging-series-/

また、werkzeug デバッグ ビューにアクセスするために、django-extensions を使用してみてください。

于 2010-09-27T05:26:00.720 に答える