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 回答