抑制模块负载的JIT优化(仅限管理)

时间:2012-03-05 10:02:11

标签: c# .net visual-studio jit compiler-optimization

如果我在VS中运行发布版本但附加了WITH调试器。所以我可以设置断点并研究优化的代码反汇编。通常,为了查看所有优化,我需要在没有附加调试器的情况下运行并分离到正在运行的进程。

在Visual Studio中取消选择“在模块加载时抑制JIT优化(仅管理)”开关是否足以带来相同的结果? “相同的结果”我的意思是:相同(优化)的机器指令,如果没有连接调试器就启动?

我听说JIT编译器只会使用所有优化选项,如果程序集是发布版本并且没有连接调试器。现在我想知道这个开关是否可以使我的调试/检查更容易?

1 个答案:

答案 0 :(得分:3)

DEBUG和RELEASE版本之间的IL存在细微差别,因此您确实希望在这种情况下使用RELEASE构建(即所有Debug.XXX调用都在Release案例中编译出来)。

取消选中“在模块加载时禁止JIT优化(仅限管理)”应该允许JIT进行优化,就好像没有连接调试器一样。我不知道这两个案例之间有任何区别。