在Visual Studio中,生成應用程序的時候有2種模式:Debug和Release。兩者之間如何取舍呢?
假設有這么簡單的一段代碼,在主程序中調用方法M1,M1方法調用M2方法,M2方法調用M3方法,M3方法中拋出異常。
class PRogram{static void Main(string[] args){M1();Console.ReadKey();}static void M1(){M2();}static void M2(){M3();}static void M3(){throw new Exception("error");}}
選擇"Debug"模式,把斷點打在Console.ReadKey();代碼行。運行,并通過依次點擊"調試→窗口→調用堆棧",顯示"調用堆棧"窗口信息,如下:
選擇"Release"模式,再調試,顯示如下:
從堆棧信息可以看出:在Debug模式和Release模式下調試,Debug模式消耗更多的內存,所以運行較慢;而Release模式作了一些優化,消耗較少的內存,所以運行更快。
在實際情況中,應該把在Release模式下生成的應用程序部署到服務器上,因為Remease下生成的應用程序作了優化處理,相對Debug下生成的應用程序,運行更快。
另外,如果我們想讓一段代碼只在Debug模式下運行,可以使用Debug標記這樣寫:
#if DEBUGConsole.WriteLine(DateTime.Now);#endif
總的來說:1、Release模式相比Debug模式,做了更多的優化,更適合在項目完成后部署到服務器上。而Debug模式更適合在調試的時候使用。2、使用Debug標記的代碼,在Release模式下會被自動刪除。
新聞熱點
疑難解答