C 除錯Debug和Release的區別

2021-05-23 06:46:06 字數 708 閱讀 8746

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 藥酒有關部分的程式,找出錯誤的...