当我使用.NET的Microsoft调试符号调试ASP.NET网站代码时,在调试.NET框架代码时,对于大多数变量,我总是得到这个愚蠢的“结果”(这当然是由我告诉VS2008来获取信息的Microsoft Symbol Server,来自)
Cannot obtain value of local or argument 'cookie' as
it is not available at this instruction pointer, possibly because
it has been optimized away.
就像我使用的代码使用的是经过优化的编译代码。如果是这样,我可以告诉它不要优化吗?我处于DEBUG配置。这非常令人沮丧,因为我无法调试..因为我在遍历代码时无法看到/获取局部变量的值。
有什么线索/想法吗?
最佳答案
Shawn Burke在他的blog中描述了禁用此功能的方法。
首先,创建一个无需JIT优化即可加载Visual Studio的CMD。
set COMPLUS_ZapDisable=1
cd /d "%ProgramFiles%\Microsoft Visual Studio 9.0\Common7\ide\"
start devenv.exe
exit
进入Visual Studio项目后,请执行以下步骤:
1)右键单击您的项目文件,然后选择“属性”
2)选择“调试”选项卡,然后取消选中“启用Visual Studio托管过程”
3)在调试器中启动您的应用程序。
关于.net - 使用MS的Symbol Server-VS调试.NET代码不会显示变量的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/294738/