.net - 使用MS的Symbol Server-VS调试.NET代码不会显示变量的值

标签 .net debugging debug-symbols

当我使用.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/

相关文章:

eclipse - 为什么 Perl 调试器不使用 do 在断点处停止,而是使用 require 停止?

javascript - 如何在 Node.js 调试器中检查 Promise?

apache-flex - 我可以获得 Flash Player 的调试符号吗?或任何其他方式来获得对闪存的支持?

c# - CRUD 类库设计,返回有关业务逻辑失败的有用消息,这并不异常(exception)

c# - 尝试生成 xsd :schema using xsd. exe 时出错

c# - 如何调试 "Could not load file or assembly"运行时错误?

C# 项目、正确的版本控制、公司等部署

c - perlbench 在 SPEC 2006 线束之外导致段错误

ruby - 如何检查我安装的 Ruby 是否有调试符号?

visual-studio-2008 - 跳过没有符号的方法 - 如何进入?