关于release版本调试信息不正确(指跟踪到的变量的值不正确)的问题:
先写好了debug版本,并进行了测试,发现功能都正常。 然后想build一个release版本,将出现的编译和链接错误都搞定后,运行测试功能,发现功能不正确。这种问题很头痛,只好去debug,一步一步跟踪发现变量的值都不正确,即使初始化了也一样,例如有这样的定义int a=1; 但发现a的值根本不是1.最后把编译环境中的Optimization由Maximize Speed (/O2)改为Disabled (/Od),这样就OK了。


本文探讨了在使用MaximizeSpeed(/O2)优化级别下,release版本中变量值异常的现象。作者在debug版本验证功能无误后,切换至release版本时遭遇功能异常,深入debug发现变量值与预期不符。通过调整编译环境的Optimization设置为Disabled(/Od),成功解决了问题。
2842

被折叠的 条评论
为什么被折叠?



