Without further ado, fire up cdb and find a System.Action:
0:000> !do 0000003de7023078
Name: System.Action
MethodTable: 000007f9d26b9a68
EEClass: 000007f9d2071c10
Size: 64(0x40) bytes
File: C:\Windows\Microsoft.Net\assembly\GAC_64\mscorlib\v4.0_4.0.0.0__b77a5c561934e089\mscorlib.dll
Fields:
MT Field Offset Type VT Attr Value Name
000007f9d26c1ac8 400002d 8 System.Object 0 instance 0000003de7023078 _target
000007f9d26c1ac8 400002e 10 System.Object 0 instance 0000003de7028800 _methodBase
000007f9d26c60d8 400002f 18 System.IntPtr 1 instance 3de52e0900 _methodPtr
000007f9d26c60d8 4000030 20 System.IntPtr 1 instance 7f97fbfc040 _methodPtrAux
000007f9d26c1ac8 4000031 28 System.Object 0 instance 0000000000000000 _invocationList
000007f9d26c60d8 4000032 30 System.IntPtr 1 instance 0 _invocationCount
Next launch the script, passing the address of the action to the script:
0:000> $$>a< dumpMDForAction.dbg 0000003de7023078 usage - $$>a< ".\dumpMDForAction.dbg" addressOfObject <.shell waiting 10 second(s) for process> .shell: Process exited 0:000> r $t0=7f97fbfc040 0000003de7023078 Dumping Method Name: PerformanceOfSmallThings.Program.Happy debugging!b__3() Class: 000007f97fd022d0 MethodTable: 000007f97fbf39d0 mdToken: 0000000006000009 Module: 000007f97fbf2f90 IsJitted: yes CodeAddr: 000007f97fd10950 Transparency: Critical 0:000>
No comments:
Post a Comment