1

ブレーク ポイントを設定し、ピース メモリ (開始アドレスと長さがわかっている) が変更されたときにトリガーされるようにしたいと考えています。Windows Server 2003 x64 プラットフォームで作業しています。Windbg のソリューションまたは Visual Studio のソリューションのどちらでも問題ありません。私の目的は、メモリの内容がいつ変更されるかを監視することです。

前もって感謝します、ジョージ

4

4 に答える 4

4

データ ブレークポイントを設定してみてください。

Visual Studio の場合:

  • [デバッグ] >> [新しいブレークポイント] >> [新しいデータ ブレークポイント] に移動します。
  • 監視するアドレス (または &foo などのアドレスに評価される式) を入力します。
  • そのアドレスで監視するバイト数を入力します
  • [OK] をクリックし、デバッガーでプログラムを実行して、待ってください。
于 2009-03-31T15:24:11.477 に答える
2

これはGDBでも実行できます。GDBでは、これは特定のアドレスの監視です(この方法で、C ++オブジェクトメンバーのアドレスに監視を設定することに成功しました)。

于 2009-03-31T15:30:36.173 に答える
1

VSについてはわかりませんが、windbgを使用すると、次のコマンドを使用できます

ba w サイズ アドレス

size をメモリの長さに置き換え、address をメモリの開始アドレスに置き換えます。

于 2009-03-31T15:25:02.550 に答える
1

データ ブレークポイントを設定できますが、そのようなブレークポイントを設定する前に、関心のあるメモリ位置のアドレスを知る必要があります。通常、プログラムの先頭にブレークポイントを設定するか、アタッチ時にデバッガーを一時停止して、監視する変数のメモリ アドレスを見つけてから、データ ブレークポイントを設定します。

于 2009-03-31T15:28:50.170 に答える