Если вы хотите сбросить IL во время отладки, вы можете использовать команду !dumpil
из SOS. Он принимает указатель MethodDesc в качестве входных данных, поэтому вы должны сначала получить его.
Один из способов получить указатель MethodDesc - использовать команду !name2ee
.
Так, например, если у вас есть метод Foo
в типе Bar
(в сборке ClassLibrary1
), используйте !name2ee
вот так
0:000> !name2ee ClassLibrary1!ClassLibrary1.Bar.Foo
Module: 001630bc (ClassLibrary1.dll)
Token: 0x06000001
MethodDesc: 00163450 <=== HERE
Name: ClassLibrary1.Bar.Foo()
JITTED Code Address: 007500f0
После этого вы можете сделать !dumpil 00163450
, чтобы сбросить IL для метода Foo
следующим образом
0:000> !dumpil 00163450
ilAddr = 73532050
IL_0000: ldstr "Foo"
IL_0005: call System.Console::WriteLine