是否可以强制JIT编译程序集并获取asm代码?

时间:2012-06-20 14:26:25

标签: .net clr .net-assembly

有没有办法让.NET编译的exe汇编,被反汇编为纯汇编程序?也许有一些内置工具可以实现这个目标。

我知道C#代码被编译成IL,然后在运行时JIT编译它的机器代码。问题是我可以以某种方式强制jit编译为汇编并将此输出作为文本文件。或者我很困惑,我对CLR如何工作的理解是错误的?

1 个答案:

答案 0 :(得分:4)

你想用它做什么?我认为你不能直接这样做。

假设您已使用Ngen创建本机映像,则本机映像缓存应位于某个路径,如

C:\Windows\assembly\NativeImages_v4.0.30319_32\

确切的路径取决于框架版本以及可能的其他一些因素,我认为您无法保证它始终存在。如果您在那里找到了原生图像,则可以使用反汇编程序查看机器代码。