作者Is5566 (5566Is)
看板C_and_CPP
標題[問題] release下有問題
時間Tue Jul 7 22:23:17 2015
開發平台(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呢?(用中斷點看不到變數的狀態)
謝謝
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 114.36.235.123
※ 文章網址: https://www.ptt.cc/bbs/C_and_CPP/M.1436279000.A.D58.html
推 jayhsieh: release 無法debug是正常的 07/08 14:12
推 shadow0326: 我的release編譯都不最佳化改放-g,和debug有八成像(x 07/08 15:02
推 Dforce: 沒初始化的主要是int, long, pointer之類的變數 07/08 15:03
→ Dforce: debug下每個byte會是0xFE release是0x00 07/08 15:04
→ linotwo: 症狀有點像跨執行緒存取全域變數會發生的問題 07/08 15:36
→ linotwo: 可以把變數宣告為 volatile 試試看 07/08 15:38