debug 通常稱為除錯版本,它包含除錯資訊,並且不作任何優化,便於程式設計師除錯程式。release 稱為發布版本,它往往是進行了各種優化,使得程式在**大小和執行速度上都是最優的,以便使用者很好地使用。
debug 版本
引數 含義
/mdd /mld 或 /mtd 使用 debug runtime library(除錯版本的執行時刻函式庫)
/od 關閉優化開關
/d "_debug" 相當於 #define _debug,開啟編譯除錯**開關(主要針對assert函式)
/zi 建立 edit and continue(編輯繼續)資料庫,這樣在除錯過程中如果修改了源**不需重新編譯
/gz 可以幫助捕獲記憶體錯誤
/gm 開啟最小化重鏈結開關,減少鏈結時間
release 版本
引數 含義
/md /ml 或 /mt 使用發布版本的執行時刻函式庫
/o1 或 /o2 優化開關,使程式最小或最快
/d "ndebug" 關閉條件編譯除錯**開關(即不編譯assert函式)
/gf 合併重複的字串,並將字串常量放到唯讀記憶體,防止被修改
實際上,debug 和 release 並沒有本質的界限,他們只是一組編譯選項的集合,編譯器只是按照預定的選項行動。事實上,我們甚至可以修改這些選項,從而得到優化過的除錯版本或是帶跟蹤語句的發布版本。
vc中debug版程式正常但release版崩潰
i.記憶體分配問題 1.變數未初始化。為debug中會自動給變數初始化found false,而在release版中 則不會。所以盡可能的給變數 類或結構初始化。2.資料溢位的問題 如 char buffer 10 int counter lstrcpy buffer,abcdefghik 在deb...
pycharm遠端除錯和debug
目的 通過pycharm遠端連線伺服器,實現在pycharm上開發,同步到伺服器 或者可以從伺服器download到pycharm 利用伺服器開發環境在pycharm上debug。條件 pycharm專業版 遠端部署 1.如圖開啟configuration 2.3.4.這是設定不需要同步的檔案,點選...
軟體除錯 Debug
軟體除錯是在進行了成功的測試之後才開始的工作。它與軟體測試不同,除錯的任務是進一步診斷和改正程式中潛在的錯誤。除錯的主要任務有兩項 一項是確定程式中錯誤的確切性質和位置,二是對程式進行修改 排除錯誤。除錯的步驟如下 1 從錯誤的外部表現形式入手,確定程式中出錯位置 2 藥酒有關部分的程式,找出錯誤的...