2 回答

TA貢獻1876條經驗 獲得超5個贊
Debug類提供一組幫助調試代碼的方法和屬性。Trace類提供一組幫助跟蹤代碼執行的方法和屬性,通俗的說就是為在不打斷程序的調試或跟蹤下,用來記錄程序執行的過程。兩個類都是密封類,不能被繼承。 Debug類的例子(代碼A): TextWriterTraceListener myListener=new TextWriterTraceListener(“F:""DebugLog.txt”); Debug.Listeners.Add(myListener); Debug.WriteLine("這是調試"); Debug.Flush(); Listener.Flush(); Trace類的例子(代碼B): TextWriterTraceListener myListener=new TextWriterTraceListener("F:""TraceLog.txt"); Trace.Listeners.Add(Listener); Trace.WriteLine("這是跟蹤"); Trace.Flush(); Listener.Flush(); 這兩個類有什么區別呢? 我們可以通過選擇項目的調試方式為“Debug”: 用代碼A測試,會發現F:"DebugLog.txt中有內容,為“這是調試”,如果用代碼B測試,會發現F:"TraceLog.txt中有內容,為“這是跟蹤”。 我們也可以通過選擇項目的調試方式為“Release”: 同樣用A,B兩段代碼測試,會發現,F:"DebugLog.txt中是沒有內容的,但F:"TraceLog.txt中還是“這是跟蹤”的文字。這里說明了一點,Debug類的內容輸出,只在Debug模式下生成的exe中起作用,如果改成Release模式下生成的exe,就失去了作用,Trace類則都起作用 用代碼A測試,會發現F:"DebugLog.txt中有內容,為“這是調試”,如果用代碼B測試,會發現F:"TraceLog.txt中有內容,為“這是跟蹤”。 現在,我們設置程序為發布方式,如下圖所示 同樣用A,B兩段代碼測試,會發現,F:"DebugLog.txt中是沒有內容的,但F:"TraceLog.txt中還是“這是跟蹤”的文字。這里說明了一點,Debug類的內容輸出,只在Debug模式下生成的exe中起作用,如果改成Release模式下生成的exe,就失去了作用,Trace類則都起作用
- 2 回答
- 0 關注
- 440 瀏覽
添加回答
舉報