2

windbg では、読み込まれたモジュールを lm で一覧表示できます。

これらのアセンブリのメモリ フットプリントを見つけるにはどうすればよいですか?

メモリを過剰に使用している疑いのあるプロセスのダンプを分析していますが、アセンブリの数に気付きましたが、それらがメモリ内で占めるサイズはわかりません。

また、それらは連続したメモリ位置にあるようには見えません。それとも、lmの出力を何らかの方法でソートした場合ですか?

ありがとう!

4

2 に答える 2

4

!address -summary で概要を把握できます。画像行を確認する

0:008> !address -summary

--- Usage Summary ---------------- RgnCount ----------- Total Size -------- %ofBusy %ofTotal
Free                                    212          b13cb000 (   2.769 Gb)           69.23%
Heap                                    455          25281000 ( 594.504 Mb)  47.18%   14.51%
<unknown>                               861          2168d000 ( 534.551 Mb)  42.42%   13.05%
Image                                   662           4e8e000 (  78.555 Mb)   6.23%    1.92%
Stack                                   156           3400000 (  52.000 Mb)   4.13%    1.27%
Other                                    39             54000 ( 336.000 kb)   0.03%    0.01%
TEB                                      52             34000 ( 208.000 kb)   0.02%    0.00%
PEB                                       1              1000 (   4.000 kb)   0.00%    0.00%
于 2013-09-11T06:39:32.963 に答える
2

を使用して、各モジュールのサイズを確認できますlmvm module_nameImageSizeそのモジュールの 16 進数のサイズを示す出力があります。

編集済み:別の方法は、最初lmにすべてのモジュールを表示してから、!lmi start_addressまたは!lmi module_name特定のモジュールに関する情報を取得することです。!lmi画像サイズを示す Size フィールドがあります。

!lmi start_address読み込まれた .NET 4 ネイティブ イメージの場合、モジュール名の解決に失敗するため、を使用する必要があることに注意してください。

于 2013-09-11T02:14:06.520 に答える