2006年5月25日 星期四

Great in Debug, Suck in Release mode

寫程式偶爾會遇到,DEBUG 時一切正常,但到了 RELEASE 時..
卻出了怪問題.. 這時的確頍傷腦筋。
這時只要把 DEBUG 下的編譯選項改一下
來模擬 RELEASE 的狀況,就可以除錯了.. :-)

1. Project Setting / C/C++ / General / Preprocessor definitions
把 _DEBUG 改成 NDEBUG

2.  Project Setting / C/C++ / Preprocessor / Undefined symbols
填入 _DEBUG
再重新編譯即可.. :-)

2 則留言:

  1. 一般來說, Release 會出問題, 應該是 optimization 做過頭了,
    找出該段有問題的 function, 設定其不要最佳化, 通常問題可以迎刃而解,
    至於除錯我通常會將最佳化選項設成 Disable 就可以除錯了

    回覆刪除
  2. 嗯嗯.. 感謝 Jazz 指導
    有時遇到這種問題, 真的會吐血... ><

    回覆刪除