
extension C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\SOS.dll loaded
This first command loads the SOS debugging tool making it available for our use.
!Name2EE ConsoleApplication29.exe ConsoleApplication29.Foo.Test
PDB symbol for mscorwks.dll not loaded
Module: 00912c14 (ConsoleApplication29.exe)
Token: 0x06000001
MethodDesc: 00913070
Name: ConsoleApplication29.Foo.Test()
Not JITTED yet. Use !bpmd -md 00913070 to break on run.
这个命令给出了有关我们的方法的丰富信息,上面有许多有用的信息,但是其中最重要的莫过于方法描述(MethodDesc)的地址,我们可以用这个地址找到更多信息
!DumpMD 00913070
Method Name: ConsoleApplication29.Foo.Test()
Class: 009113b8
MethodTable: 00913080
mdToken: 06000001
Module: 00912c14
IsJitted: no
m_CodeOrIL: ffffffffffffffff
在这里我们可以获得"方法列表"(method table)的地址,我们可以通过这个地址得到方法列表
!DumpMT -md 00913080
EEClass: 009113b8
Module: 00912c14
Name: ConsoleApplication29.Foo
mdToken: 02000002 (C:\Documents and Settings\Greg\My Documents\Visual Studio 2005\Projects\ConsoleApplication29\ConsoleApplication29\bin\Release\ConsoleApplication29.exe)
BaseSize: 0xc
ComponentSize: 0x0
Number of IFaces in IFaceMap: 0
Slots in VTable: 6
--------------------------------------
MethodDesc Table