2009-08-19 4 views
2

VSを使用してディスクにメモリのチャンクだけをダンプする方法があるのか​​知っていますか?基本的に、私はそれにアドレスと長さを与え、ディスクにメモリを書きたいと思っています。そうすれば私はバイナリ差分を行うことができます。おかげさまで VS 2005でメモリの一部のみをダンプする

+0

「チャンクだけをダンプする方法はありますか?」とはどういう意味ですか?標準のファイル入出力技術を使用できないのはなぜですか? –

+0

私はそれを行うためのコードを書くことができましたが、可能であればIDEを使用したいと思います。 printfを使ってデバッグすることもできますが、私はウォッチウィンドウを使いたいと思っています。 – BigSandwich

+0

デバッグ中は...? – DeusAduro

答えて

0

完全なバイナリミニダンプしか保存できないと思います。ただし、デバッグメモリウィンドウを使用し、テキストファイルにコピー/貼り付けしてメモリ差分を行うことができます。

+0

ええ、問題は、メモリウィンドウが一度に十分に私を表示しないことです。 – BigSandwich

0

OK、この私はVS 2008で試してみましたが、私はVS 2005が同じを可能にしなければならないと考えている:

メモリが文字列である場合には(それはゼロバイトが含まれていない場合)、次を置くことができますウォッチウィンドウに:(unsigned char*)(ptr),1024テキストビジュアライザで1kBを表示します。ただし、これはゼロバイトで終了します。したがって、バイナリデータがある場合、これは機能しません。

3

Iてる種類のVSは、あなたがメモリダンプウィンドウから...

あなたが望む結果を得ることができる(またはそれに近い)VSコマンドウィンドウであるかもしれないことをやらせないだろう驚い:

>Tools.LogCommandWindowOutput c:\temp\testdump.log /overwrite 
>Debug.ListMemory /Count:16 0x00444B20 
0x00444B20 00 00 00 00 00 00 00 00 13 00 12 00 86 07 19 00 ................ 
>Tools.LogCommandWindowOutput /off 

あなたが正確に何をしたい行うために.writememデバッガコマンドを使用することができますWinDBGの、(またはNTSD/CDB)を使用するために喜んでいる場合。

関連する問題