看板 C_and_CPP 關於我們 聯絡資訊
開發平台(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