精華區beta Programming 關於我們 聯絡資訊
※ 引述《happyjob.bbs@bbs.nsysu.edu.tw ()》之銘言: : 目前我的exe檔,在debug能跑,但在release卻不能跑,想找出原因。 : 1、目前用系統內定設定,我在release按F5,它會說沒有debug infomation。 : 2、接著Project->Setting->Link->Generate debug info勾起來,上面的訊息 : 消失了,但還是沒辦法step debug : 請問: : 1、在release要怎麼設,才能debug?我記得有人說過,只要有pdb檔就可debug : 2、不然還有什麼其它辦法,可讓我找出release不能跑的原因? 首先, 請先問問自己, Debug 和 Release到底差在哪理? Debug用的是一個編譯器, Release 用的是另一個不同的編譯器嗎? 當然不是, 那他們對編譯器下的參數到底是有哪些不同? 說穿了, Release 有對你的Code做最佳化, 也就是說, 編譯器會對你的Code 做自認為最好的方式重新編寫, 所以你原始程式的流程在Release很可能都沒有 保留下來, 這樣的情況, 如何用你的Source Code做Step by Step的Debug? (你只會看到程式東跳西跳....) Release版在做Debug, 只能追蹤 Call stack 來猜測問題出在哪, 還有追蹤變數 內容的變化來"猜".... 不過你的問題, 就經驗來說, 大多是變數初始化的問題. Debug會幫你自動初始化原始型別的變數內容, 這個步驟在Release版內常被 編譯器省略. 你可能必須明白指定初始化的敘述. -- 我主修物理 選修計概 副修離散 唉.....三修國文 -- ╭──── Origin:<不良牛牧場> bbs.badcow.com.tw (210.200.247.200)─────╮ Welcome to SimFarm BBS -- From : [220.138.40.157] ◣◣◢ ◢◢不良牛免費撥接→電話:40586000→帳號:zoo→密碼:zoo ◣◣─╯