windows process のアドレスマップ
Linux の pmap の様な情報が欲しいんだけど、なかなか面倒そう。7 の 64-bit 情の 32-bit process, 以前通り2G程度しかメモリが使えないようだけど、その内訳を見たい。仮想サイズでトータルはほぼわかると言えばわかるのだが。
Psapi でプロセスに関する基本的な情報は得られたが、メモリーマップのようなものを得る方法はなさそう。モジュールを enumerate する API も期待せずに試したが、やはりexe/dll のモジュール情報のみ。
windows list memory segments でググる。
http://stackoverflow.com/questions/412832/windows-process-memory-viewer
Debugger でやれとか、Process Viewer とか Process Explore。
Process Explore は MS 製だけど、どうやらメモリマップの様な情報はなさそう。
PrcView は、最初の表示に期待するプロセスが見えなかったので、すべてのプロセスを表示させ、Memory のメニューアイテムを押すとそれらしきものが表示された。
http://www.teamcti.com/pview/prcview.htm
しかし、表示はモーダルダイアログ中で、表示内容をコピーしたり、ダンプしたりはできない。でもこの表示どこかで見たような... たぶん cdb で見たんだな。
やはりデバッガを使うか DbgEng interface でプログラムくむしかないってことかな。面倒くさい。