程式的調試方法,對於編寫高品質的程式有著很大關係,用之得當,事半功倍。下面,我就把我對ASP.NET調試技術的瞭解給大家說說,還希望大家多多指教。
條件編譯:
條件編譯,是.NET的調試中非常重要的方法之一,它可以根據編譯條件來動態產生運行代碼。
條件編譯是在產生代碼時用/define指定的常數,結合代碼中的#if 常數....#endif來判斷是否產生#if....#endif部分代碼。
條件編譯常數,可以在項目屬性->配置屬性->產生->條件編譯常數中指定,也可以在命令列中指定。對於一個代碼檔案來說,你也可以在檔案頭部分定義,如在.cs檔案中,#define DEBUG,也可以#undef DEBUG取消。我個人覺得,在項目屬性中指定靈活性要大一些,因為你可以根據不同的配置設定不同的常數。條件編譯常數格式為:DEBUG;TRACE。常數不限於DEBUG和TRACE,你可以指定任何單詞。
當我們定義好條件編譯常數後,在程式碼中就可以使用了。如我們為了在調試版本中顯示一些中間狀態資訊,而發布版本不需要顯示,我們可以這樣:
c#
/**//// <summary>
/// 初始化
/// </summary>
private void Initialize()
{
try
{
int x = 0;
int i = 1 / x;
}
catch(Exception e)
{
#if DEBUG
Debug.Listeners.Add(new TextWriterTraceListener(Console.Out));
//Debug.Listeners.Add(new TextWriterTraceListener("Debug Result.Log"); //寫調試資訊到檔案中。
Debug.AutoFlush = true;
Debug.WriteLine(e.Message);
Debug.Close();
#endif//DEBUG
Response.Write("初始化" + e.Message) ;
}
}
Web表單代碼中的條件編譯選項
為了在Web表單代碼中啟用條件編譯,你需要設定<%@Page Language="C#" Debug="True" %>
Web.Config中的debug
在Web.Config檔案是,會有<compilation defaultLanguage="c#" debug="true" />一行,這個功能是確定程式是否要載入偵錯符號,如果我們要在IDE的偵錯模式下運行,debug必須為true,但為了提高效能,在發布時我們需要設定debug為false。
暫時寫這麼多。