[問題] 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