2

次の形式で、指定されたメモリアドレスからメモリダンプを取得するにはどうすればよいですか。

  Address   |           Hexadecimal representation              | ASCII representation
---------------------------------------------------------------------------------------
0x637132687 | 00 00 00 00 00 00 00 00   45 21 65 78 32 F5 12 6C |  ....... ahsnfdas
0x637132703 | 00 00 00 00 00 00 00 00   45 21 65 78 32 F5 12 6C |  ....... ahsnfdas
0x637132719 | 00 00 00 00 00 00 00 00   45 21 65 78 32 F5 12 6C |  ....... ahsnfdas
0x637132735 | 00 00 00 00 00 00 00 00   45 21 65 78 32 F5 12 6C |  ....... ahsnfdas

作業用のAPI/フレームワーク/ツールを知っていますか?

4

2 に答える 2

2

Marshal.CopyMemory() とこのコードが必要です。P/VirtualQueryEx() を呼び出してメモリ アドレスが有効であることを確認することは、例外を回避するための良い考えです。

于 2010-05-15T17:33:17.217 に答える
1

確かに WinDbg を使用して実行できます。正直なところ、私はそれを使用するウィザードではありませんが、Microsoft の Tess Ferrandez は、 WinDbg を使用して .NET アプリケーションをデバッグすることについて優れたブログを書いています。

通常のメモリ ダンプを参照したいだけのようですが、これは非常に簡単です。(.net に関して) さらに詳しく調べたい場合は、WinDbg の SOS 拡張機能を使用する必要があります。

于 2010-05-15T17:06:20.410 に答える