vs在release下调试时局部变量值错位修复
2014-05-25 18:27
609 查看
特指Microsoft的VC2005、VC2008、VC2010、VS20XX等。
调试时变量的监视窗口显示的值出现错误,或者张冠李戴,或者本来程序中已经赋值显示出来的却没有,如果让程序将变量输出,却是正确的。
有人已经提出了解决问题的方法:将项目属性的C++常规设置中的“调试信息格式”设置到“ZI”那一项,将“优化”设置到“禁用”,这确实解决了问题。
就是因为选择了“release”模式,选择“debug”模式调试就没问题了。
因为release模式下的默认设置存在编译优化,所以调试的程序已经是优化过的代码而不是看上去的那些了,显示出来的变量值自然有可能不正确。而debug模式下不存在任何代码优化,所以一步一步调试的变量显示是没问题的。
考虑到这样,就没必要去改release模式下的设置了。
一句话:调试就用Debug模式。
一个问题:如果release下编译完成,后期运行产生了dmp时,还能定位到源码并正确显示局部变量么?
2
断点在第一行,局部变量窗口显示的是第三行的代码的变化,这种情况,不是配置的问题,而是单个cpp文件的问题。此时在其他文件的断点都正常。增减或删除中文注释,或调整函数的前后位置可解决
相关文章推荐
- vs在release下调试时局部变量值错位修复
- VS Release下单步调试设置
- VS2015 Release 生成调试信息
- vs调试的时候debug和release的区别
- VS2015在release模式下进行调试
- VS2005设置可以在Release模式下调试
- VS中生成、清理项目、调试、开始执行(不调试)、Debug 和 Release等之间的区别
- VS2010调试技巧——观察变量值
- VS 2008 带调试信息的Release .
- Myeclipse 调试(debug)时 不显示局部变量值
- eclipse或vs在c++调试断点乱跳错位问题笔记
- VS 2005 VS2008 VS2010 设置断点,在调试时产生断点错位怎么解决
- vs2013调试源码错位问题最新解决方法
- VS2015在release模式下进行调试
- 【Visual Studio】VS2013的Release模式下进行调试(转)
- VS2005设置可以在Release模式下调试
- VS2005设置可以在Release模式下调试
- 关于VS的release版本调试
- How to: Debug a Release Build (vs2010级以上版本Release下调试设置)
- VS使用进程调试出现“没有正确安装调试器。请运行安装程序安装或修复调试器”的错误,解决方法。