debug正常release出錯 debug和release的區(qū)別?
debug和release的區(qū)別?1、debug與release的區(qū)別debug:debug版本包含調試信息,容量比release大很多,不進行優(yōu)化(優(yōu)化會使調試復雜化,因為源代碼與生成指令的關系會更
debug和release的區(qū)別?
1、debug與release的區(qū)別
debug:debug版本包含調試信息,容量比release大很多,不進行優(yōu)化(優(yōu)化會使調試復雜化,因為源代碼與生成指令的關系會更復雜),方便程序員調試。在調試模式下生成兩個文件。除此之外。Exe或。DLL文件中,還有一個.Pdb文件,它記錄了代碼斷點等調試信息
release:發(fā)布版本,無源代碼調試,并在編譯過程中優(yōu)化應用程序的速度,使程序在代碼大小和運行速度上都達到最優(yōu)。(調試信息可以在單獨的pdb文件中生成)。生成一個文件。Exe或。DLL文件處于釋放模式
請不要在釋放模式下調試局部變量。由于發(fā)布模式的優(yōu)化,你的代碼和最終的組裝不是一一對應的,所以源代碼的斷點意義不大。請用匯編的思想來調試。另外,如果您不了解匯編,我建議您不要在發(fā)行版下進行調試。在調試模式下檢查代碼邏輯沒有問題。如果調試編譯和發(fā)布編譯沒有問題,請首先檢查代碼中是否存在由于調試和發(fā)布模式導致的與調試相關的宏的不同定義而導致的實際差異。例如,實際的函數代碼寫在assert語句中,等等
debug通常稱為debug version。它包含調試信息,不做任何優(yōu)化,方便程序員調試程序。發(fā)布稱為發(fā)布版本。它經常被優(yōu)化以使程序在代碼大小和運行速度上達到最優(yōu),這樣用戶就可以很好地使用它