8

重複の可能性:
双方向(または逆)デバッグ

Omniscient Debugger(http://www.lambdacs.com/debugger/ODBDescription.html)を調べましたが、これはJavaに固有のものです。ネイティブアプリ、つまりC / C ++用にこれと同じ機能を備えたデバッガーはありますか?

私は自分自身を明確にしていません。偽のデータ値/コードパスを壊してから、コード/ロジック/デザインにエラーが見つかるまで「ロールバック」して逆方向にデバッグしたいと思います。

ステップバイステップで「順方向」にデバッグできることはわかっています。同じように逆方向にデバッグしたいので、デバッガーは各ステップでコンテキストを保存する必要があります。

4

5 に答える 5

8

x86 ターゲットで既に言及されている過去の命令を調べるためのスタック トレースに加えて、新しい gdb は、記録されたプログラムの実行と、探しているものにかなり近づくはずの後方へのステップもサポートしています。

于 2012-08-28T00:10:46.090 に答える
6

GDB バージョン 7.0 (2009 年 9 月予定) は、gdb の最初のパブリック リリースであり、リバース デバッグ (デバッグ中のプログラムをステップ実行して逆方向に続行する機能) をサポートします。

補遺:

Visual Studio 2010 以降では、「履歴デバッグ」(「IntelliTrace」) がサポートされています。

于 2012-08-28T00:17:07.400 に答える
2

C/C++ には GDB を使用する必要があると思います。いくつかのスタック トレース オプションがあり、プログラムにブレークポイントを設定して段階的に実行できます。

http://www.cs.cmu.edu/~gilpin/tutorial/#3.5で確認する か、Web で他のチュートリアルを見つけてください。

それが役に立てば幸い。

于 2012-08-27T20:13:18.160 に答える
0

gdbには、( ) フレームまたはを選択するためのコマンドup nとがあります。down nnupdown

おそらくこれが役立つでしょう。

于 2012-08-28T10:52:27.347 に答える
-2

LinuxGDB用が推奨されますが、Windows 用が推奨されますwindbg

于 2012-08-27T20:15:38.703 に答える