1

windbgコマンド !dumpheap -stat を実行してダンプヒープを取得しました。ここで、クラスタイプのコンテンツに関する詳細情報を取得したいと思います。クラスタイプの詳細を確認するにはどうすればよいですか?

0:007> !do 00000000062782d0    
Free Object
Size:        566112(0x8a360) bytes
0:007> !do 000007ff00c88fc8        
<Note: this object has an invalid CLASS field>
Invalid object

これは、より多くの情報を取得するためにすべて機能するわけではありません。ILコードも取得できますか?

4

1 に答える 1

3

.Netクラスでは、アセンブリメタデータに存在するメソッドテーブルによって識別されます。!dumpmtメソッドテーブルをダンプするために使用します。例えば:

0:031> !dumpmt -md 71ad219c
EEClass:         716e3d94
Module:          716e1000
Name:            System.EventHandler
mdToken:         020000da
File:            C:\windows\Microsoft.Net\assembly\GAC_32\mscorlib\v4.0_4.0.0.0__b77a5c561934e089\mscorlib.dll
BaseSize:        0x20
ComponentSize:   0x0
Slots in VTable: 16
Number of IFaces in IFaceMap: 2
MethodDesc Table
   Entry MethodDe    JIT Name
719c99d0 716e6a08 PreJIT System.Object.ToString()
719cf140 71766428 PreJIT System.MulticastDelegate.Equals(System.Object)
719e1440 71766484 PreJIT System.MulticastDelegate.GetHashCode()
719b1500 716e6a44 PreJIT System.Object.Finalize()
... 

于 2012-07-31T01:48:23.720 に答える