問題:debug 下可以運行,Release 下不能運行

Release和Debug看到的情況不一樣,一般有幾種原因:
變量未初始化(特別是指針未賦值)
所依賴的DLL放的位置不恰當
所用外部資源文件加載失敗而又沒檢查, 比如LoadImage所要的圖片文件沒找到等.


解決辦法也有好多,
比如用Release版編譯,但禁止優化,然後下斷點就可以定位出錯位置.
又或都是根據微軟的錯誤報告和編譯所產生的list文件來定位.
甚至加MessageBox等都可以的.

 

Release版調試

在VS2005中先換到Release模式,在Solution Explorer中右鍵單擊你的那個工程結點
選擇Properties。會彈出工程的Release屬性對話框。
在左邊找到找到Configuration Properites -> C/C++ -> Optimization.
把右邊的Optimization改爲Disabled (/Od) (原本是Maximize Speed (/O2))
然後確定
接着,Rebuild Solution重新編譯這個工程。

好,現在直接在Release版下調試, Debug -> Start Debuging.
它會在出錯的時候停下來。你就知道哪裏錯了。
操作和Debug版無二。


代碼修改完成不出錯之後,記得要把工程的Release模式的Optimization改回Maximize Speed (/O2)哦。然後再全部Rebuild編譯發佈。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章