1

是否可以反汇编/检查 .Net JITer / ngen 生成的本机代码?(纯学术目的)

在试图回答这个问题时,我对 JITer 将执行什么样的优化产生了兴趣——而不是疯狂地推测,我真的很想亲眼看看真正发生了什么。

到目前为止,我已经:

  1. 使用ngen安装了我的候选程序集的本机映像(此输出可能与 JIT 编译器的输出不同吗?)
  2. 从 GAC 中复制原生镜像

但现在我有点卡住了——据我所知.Net程序集是可移植的可执行格式,但我可能用来反汇编这样一个文件(objdump)的普通工具只是barf:

C:\Users\justin\Desktop>objdump -d ConsoleApplication1.ni.exe
objdump: ConsoleApplication1.ni.exe: File format not recognized

以这种方式窥视原生图像是否可行?如果做不到这一点,是否有其他方法可以满足我的好奇心?(例如反汇编正在运行的进程中的代码)

4

1 回答 1

1

过去,在尝试此类事情时,我在 windbg 和dumpbin方面取得了一些成功。

于 2011-08-25T19:15:22.977 回答