当前位置:  开发笔记 > 后端 > 正文

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

如何解决《使用MS的SymbolServer调试.NET代码-VS不显示变量的值》经验,为你挑选了2个好方法。

当我使用.NET的Microsoft调试符号调试我的ASP.NET网站代码时.当我调试.NET框架代码时,我继续为大多数变量获取这个愚蠢的"结果"(当然这是由提供的Microsoft Symbol Server,我告诉VS2008获取信息,来自)

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配置中.这是非常令人沮丧的,因为我无法调试..因为我在单步执行代码时无法查看/检索局部变量的值.

任何线索/想法?



1> Cameron MacF..:

Shawn Burke描述了一种在他的博客上禁用此功能的方法.

首先,创建一个CMD,它将在没有JIT优化的情况下加载Visual Studio.

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)在调试器中启动您的应用程序.



2> JaredPar..:

对于普通的.Net应用程序,您可以使用起始二进制文件旁边的.INI文件禁用JIT优化.这是一个如何实现这一目标的链接

http://blogs.msdn.com/jaredpar/archive/2008/08/29/disabling-jit-optimizations-while-debugging.aspx

调试ASP.Net有点不同,我不确定这是否适合你.如果您使用轻量级Web服务器(cassini)在本地进行调试,则可以将此技巧应用于Cassini本身.如果您是直接在Web服务器上调试,虽然在IIS内部我不知道如何让这个技巧工作,但希望它会引导您朝着正确的方向前进.

推荐阅读
k78283381
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有