与this question asking the same but in VS类似,我想问一下如何使用WinDbg来查看JITted方法的diassembly?如何在使用WinDbg连接到.NET程序时查看JITted方法的反汇编?
将此分解为两部分,在这两种情况下,都有与我想要反汇编的方法相同的SomeNamespace.SomeClass.Foo()
。
- 我们只有可执行文件
program.exe
,并且想通过WinDbg的Open Executable
运行它。 - 有一个已经运行的过程,我想检查相同的JIT方法。 (说我们不能控制过程如何开始)
现在从我的理解,JIT运行时第一次调用方法。如果这是真的,那么在2.
中可能是该方法尚未被打乱的情况。有没有办法强制JIT在这种情况下运行该方法,以便我们检查结果?
TL; DR:如何使用WinDbg反汇编JITted方法?
问题不明确。标题和tl; dr询问如何拆解jitted方法,但问题的核心问题是强制jit采用非jitted方法。对于一个已经被激发的方法,在!sos.u上使用!sosex.mu和!sosex.muf。如果方法没有被激发,使用托马斯的方法。 –