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

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技術(shù):System.Diagnostics命名空間里的Debug類和Trace類的用途【轉(zhuǎn)】,轉(zhuǎn)載需保留來源!
鄭重聲明:本文版權(quán)歸原作者所有,轉(zhuǎn)載文章僅為傳播更多信息之目的,如作者信息標(biāo)記有誤,請第一時間聯(lián)系我們修改或刪除,多謝。