設置你的listeners
.Net Framework有一個代表接收Debug、Assert和Trace輸出的對象的Listeners集合。默認情況下,你的應用程序有一個單一的DefaultTraceListener。這個listener忽略Debug和Trace輸出,顯示一個Assert消息的對話框。你可以添加項目到這個集合,或從這個集合中刪除項目。已為你創建好的兩項是TextWriterTraceListener和EventLogTraceListener。TextWriterTraceListener把消息寫到一個流(stream)中,EventLogTraceListener把消息寫到一個EventLog中。EventLog可以讓你把你的程序的調試和跟蹤消息寫到系統事件日志記錄中。
我喜歡為所有程序建一個調試日志文件:
以下是引用片段:
static void Main ()
{
Debug.Listeners.Add (
New TextWriteTraceListener
("MyLog.log");
// etc.
為什麼用這個方法? 該技巧可以讓你控制在哪裡用調試和跟蹤語句。
在你發現bugs時,用這些技巧.
坦白地說,在開始寫代碼時,沒有人用所有這些技巧。實際上,當我們努力想發現那些重大bugs的原因時我們通常添加這些語句。在你陷入那種困境時,嘗試以下方法:
1. 當你創建類時,通常為每個類建一個跟蹤開關。
2. 通常為每個類建一個驗證函數。
3. 當你要診斷錯誤的行為時,添加其它的跟蹤和調試語句。確信把這些變化保留在代碼中。我發現的最常見的錯誤之一就是:當程序員想找到bugs時,他們添加許多跟蹤和調試語句來發現錯誤。然後,一旦他們找到了他們查找的錯誤,他們就把這些語句刪掉。
這些工具會幫你發現並修理bugs,就看你用不用它們了。