------------------------------- MethodDesc Table Entry MethodDesc JIT Name 799917c0 79b7ebc8 PreJIT [DEFAULT] [hasThis] String System.String.ToString() ... 79b7e253 79b7e258 None [DEFAULT] [hasThis] I4 System.String.InternalLength() ... 0:003> !DumpMD 79b7e258 Method Name : [DEFAULT] [hasThis] I4 System.String.InternalLength() MethodTable 79b7daf8 Module: 79b66000 mdToken: 060000b1 (e:windowsmicrosoft.net rameworkv1.1.4322mscorlib.dll) Flags : 1 IL RVA : 0073000b 通过上述命令我们可以看到,String.InternalLength 方法缺省没有经过 JIT 编译,其入口地址为 79b7e253。反汇编此地址的指令,并一路追述下去可以发现,实际上最终也是调用 mscorwks!PreStubWorker 方法: 以下为引用: 0:003> u 79b7e253 mscorlib_79980000+0x1fe253: 79b7e253 e8287ffeff call 页码:[1] [2] [3] [4] [5] [6] [7] [8] [9] 第3页、共9页 |