|
在 .NET 類庫中有一個 System.Diagnostics命名空間,該命名空間提供了一些與系統進程、事件日志、和性能計數器進行交互的類庫。當中包括了兩個對開發人員而言十分有用的類Debug類和Trace類。本文介紹了這兩個類的一些基本用途,旨在提高廣大開發人員的開發效率。
目錄
- 使用Debug類來幫助調試
- Debug類和Trace類的區別
- 使用Trace類來做程序日志
- 小結
- 參考資料
使用Debug類來幫助調試
調試程序對每個程序員來說是家常便飯??墒俏覀儠洺S龅揭恍┣闆r讓我們頭疼,例如:
- 當我們在開發一個界面控件的時候,簡單的設斷點會增加Paint事件的響應次數,而造成的環境參數改變。
- 斷點設多了,程序常常停在正常運行的地方;這樣一來,調試一個錯誤要花費大量時間去尋找錯誤。
這時,我們就需要利用System.Diagnostics.Debug類來幫助我們調試。我們可以通過調用Debug.WriteLine(String message)函數,將我們所關心的信息打印在Visual StudioIDE的Output窗口中。也可以利用Debug.Assert(bool condition)來讓程序停在錯誤的地方,并且顯示Callstack。
Debug類中所有函數的調用都不會在Release版本里有效。也就是說,我們通過這種方法所加的代碼可以僅用于調試;在發布的時候無需刪任何代碼,就可以給用戶一個沒有調試指令的程序了。
下面的這個例子演示了這兩個函數來幫助調試的方法:
1、 新建一個Visual Studio C# Project,采用默認的項目名。
2、 往Form1上拖一個label,并采用其缺省ID。
3、 在Form1.cs中的Form1類中添加下面的函數代碼:

private int time=0;protected override void OnPaint(PaintEventArgs e){time++;this.label1.Text="OnPain called "+time.ToString()+" Times.";}protected override void OnResize(EventArgs e){System.Diagnostics.Debug.Assert(this.Width>200,"Width should be larger than 200.");System.Diagnostics.Debug.WriteLine(Size.ToString());}
NET技術:System.Diagnostics命名空間里的Debug類和Trace類的用途【轉】,轉載需保留來源!
鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯系我們修改或刪除,多謝。