天天看点

在使用Reference Source调试.Net 源代码时如何取消optimizations(代码优化)-翻译

这是因为源代码服务器上提供的代码默认是为最终销售优化过的(optimized )。这些值虽然你没法查看,但不会阻断单步执行,大部分情况下你可能不需要查看。

但如果你真的需要查看,这里还是有一个办法的。

你需要靠诉CLR不要加载pre-JIT(也加NGEN)镜像。下面是具体步骤:

首先,创建一个CMD文件。文件里包含这么几步,设置一个环境变量,随后启动Visual Studio。 我把这个文件命名为"NoOptDevEnv.cmd",具体内容如下:

set COMPLUS_ZapDisable=1 cd /d "%ProgramFiles%\Microsoft Visual Studio 9.0\Common7\ide\" start devenv.exe exit

我把这个CMD文件文件放在我的桌面,当我需要禁止优化(optimizations)的时候就用这个文件启动VS。

一旦Visual Studio启动,还需要做以下步骤:

右键单击你的项目文件,选择“属性” 选择“调试(Debug)”,取消勾选"允许Visual Studio托管进程(Enable the Visual Studio Hosting Process)" 在调试模式启动你的程序。

现在,你可以看到所有的本地和成员变量的值了:

上一篇: IL rewriting
下一篇: 礼物

继续阅读