debug和release的區別

2021-08-13 00:58:32 字數 654 閱讀 8956

要解決後乙個問題,我想先把前乙個問題說清楚。

obj資料夾是object的縮寫,用於存放編譯過程中生成的中間臨時檔案, 其中都有debug和release兩個子目錄,分別對應除錯版本和發行版本, 在.net中,編譯是分模組進行的,編譯整個完成後會合併為乙個.dll或.exe儲存到bin目錄下。

debug版: 

經過編譯器編譯出的專案.exe檔案大,而且生成的二進位制命令沒有經過編譯器的優化。專案中包含著豐富的除錯資訊,供programer除錯程式。這就是為什麼,當我們在debug程式的時候,為什麼程式就會在我們設定斷電的地方自動停下,而且彷彿時間靜止,還可以顯示此時相關變數的狀態。

release版: 

這個版本是的出發點是使用者,所以不儲存除錯資訊,編譯器在編譯的時候進行了各種優化,進而達到,**檔案最小,執行速度最優。

實際上,debug 和 release 並沒有本質的界限,並不是非黑即白的。他們只是一組編譯選項的集合,編譯器只是按照預定的選項行動。事實上,我們甚至可以修改這些選項,從而得到優化過的debug版,或是帶有除錯資訊的release版。

後記: 

寫著個的時候,還在考慮要不要,明確出來我說的是c#專案。寫完之後才發現,完全沒有必要。其實這是乙個ide使用者對乙個ide的盲人摸象似的分析。沒必要糾結於ide也沒必要糾結於c++還是c#,道理是一樣的。

VC下關於debug和release的區別的討論

vc下關於debug和release的區別的討論 網上總結 2008 09 17 02 30 p.m.最近寫 過程中,發現 debug 下執行正常,release 下就會出現問題,百思不得其解,而release 下又無法進行除錯,於是只能採用printf方式逐步定位到問題所在處,才發現原來是給定的乙...

專案發布Debug和Release版的區別

一 debug和release的區別 debug 除錯版本,包含除錯資訊,所以容量比release大很多,並且不進行任何優化 優化會使除錯複雜化,因為源 和生成的指令間關係會更複雜 便於程式設計師除錯。debug模式下生成兩個檔案,除了.exe或.dll檔案外,還有乙個.pdb檔案,該檔案記錄了 中...

vs中debug和release版本的區別

vs中的程式有debug和release兩個版本,debug通常稱為除錯版本,通過一系列編譯選項的配合,編譯的結果通常包含除錯資訊,而且不做任何優化,以為開發 人員提供強大的應用程式除錯能力。而release通常稱為發布版本,是為使用者使用的,一般客戶不允許在發布版本上進行除錯。所以不儲存除錯信 息...