我感兴趣的是查看C#程序的实际x86程序集输出(而不是CLR字节码指令)。有什么好方法可以做到这一点吗?
发布于 2011-08-03 22:58:56
你应该在SOS/SOS中使用WinDbg,确保你想要在方法表中看到x86代码的方法是JITted,然后查看u
命令的实际反汇编。因此,您将看到实际的代码。
正如其他人在这里提到的,使用ngen可以看到与实际JIT编译结果不完全匹配的代码。对于Visual Studio,这也是可能的,因为JIT的编译在很大程度上取决于调试器是否存在。
UPD:一些澄清。WinDbg也是调试器,但它是本机调试器。
Here您可以阅读有关该技术的详细信息。
发布于 2011-08-03 22:59:55
你可以做一个内存转储。但是,请注意,内存中的代码不一定包含所有方法。
ngen执行AOT,或提前代码生成,这可以与JIT代码不同。
https://stackoverflow.com/questions/6928442
复制相似问题