2010-09-30 59 views
6

嗨我正在使用Visual Studio 2010,我無法弄清楚一件事。我可以在發佈模式以及調試模式下調試和設置斷點。那麼兩者有什麼區別?視覺工作室調試vs發佈模式

+0

[Debug。VS Release in .net]可能的重複(http://stackoverflow.com/questions/90871/debug-vs-release-in-net) – nawfal 2013-10-14 09:04:08

回答

8

區別在於編譯器在發佈模式下應用的優化。如果您有PDB文件,您可以放置​​斷點,默認情況下它們即使在發佈模式下也會生成。

+0

因此,您可以使用Release模式構建項目並測試它們Visual Studio不用擔心跳過一個斷點或沒有獲取調試信息? – Rumplin 2011-09-27 11:01:44

3

新分配的內存包含任意值 - 無論發生在最後一次坐在那裏。在發佈版本中,這是不變的。在VS中調試建立初始化新分配的內存0xcdcdcdcd標誌爲「未初始化」。

爲什麼版本發佈用垃圾建立填充內存使調試更容易?發佈模式就是這樣 - 實際發佈的額外開銷最小。

5

這裏是Scott Hanselmans Blog

更詳細的答案,但問題的根源在於代碼與更多的優化編譯的,則仍可以調試由於創建PDB文件。