[问题] release下有问题

楼主: Is5566 (5566Is)   2015-07-07 22:23:17
开发平台(Platform): (Ex: VC++, GCC, Linux, ...)
额外使用到的函数库(Library Used): (Ex: OpenGL, ...)
VC2013
问题(Question):
目前遇到在DEBUG下,变量经过像是GetWindowsTextW或是checkbox..等的传递
再到一大堆的运算后,是可以正常运用的
后来在release后去执行,发现所有的变量都无法正常的传递与应用
去google后,有提到可能是没被初始化
想请问的是int与cstring等等变量都需要在OnInitDialog下被初始化?
或是在宣告时就要初始化呢?
初始化要让int设定为0,cstring则要设为null还是_T("")
另外想请问在release时,要怎样去debug呢?(用中断点看不到变量的状态)
谢谢
作者: jayhsieh (jayhsieh)   2015-07-08 14:12:00
release 无法debug是正常的
作者: shadow0326 (非议)   2015-07-08 15:02:00
我的release编译都不最佳化改放-g,和debug有八成像(x
作者: Dforce (VF-17)   2015-07-08 15:03:00
没初始化的主要是int, long, pointer之类的变量debug下每个byte会是0xFE release是0x00
作者: linotwo (._.)   2015-07-08 15:36:00
症状有点像跨执行绪存取全域变量会发生的问题可以把变量宣告为 volatile 试试看

Links booklink

Contact Us: admin [ a t ] ucptt.com