日韩无码专区无码一级三级片|91人人爱网站中日韩无码电影|厨房大战丰满熟妇|AV高清无码在线免费观看|另类AV日韩少妇熟女|中文日本大黄一级黄色片|色情在线视频免费|亚洲成人特黄a片|黄片wwwav色图欧美|欧亚乱色一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時(shí)間:8:30-17:00
你可能遇到了下面的問題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
C#運(yùn)用Trace語句

C#語言還是比較常見的東西,這里我們主要介紹C#運(yùn)用Trace語句,包括介紹運(yùn)用debug和Trace輸出等方面。

運(yùn)用debug和Trace輸出

打印診斷消息可以幫你確定你的程序是怎么出錯(cuò)的。你需要知道當(dāng)觸發(fā)一個(gè)Assert時(shí),發(fā)生了什么情況;你也通常需要知道在這之前發(fā)生了什么。知道這些的***的方式就是運(yùn)用你的代碼,這樣你就可以很容易地看到在出現(xiàn)bug前,調(diào)用了什么函數(shù)。

在生成調(diào)試輸出時(shí),.net Framework有一些新的功能可以用。System.Diagnostic.Debug類可以讓你格式化調(diào)試輸出,并能很容易地創(chuàng)建不同的類或級(jí)別的調(diào)試輸出。下面是我喜歡用的一些指導(dǎo)方針。

首先,在你的程序中為每個(gè)類建一個(gè)traceswitch對(duì)象:

 
 
 
  1. public class MyClass
  2. {
  3. private static TraceSwitch
  4. myClassSwitch = new TraceSwitch
  5. ("MyClassSwitch", "Controls the \
  6. debug output of MyClass");

然后,用WriteIf() 和 WriteLineIf() 方法來記錄任何你覺得有助于你跟蹤你的程序的信息:

 
 
 
  1. public bool ProcessIterations (int
  2. numIters)
  3. {
  4. WriteLineIf
  5. (myClassSwitch.TraceInfo,
  6. "Entering ProcessIterations",
  7. "CallTrace");
  8. ImOK ();
  9. Debug.Assert (numIters > 0,
  10. "ProcessIterations.",
  11. "Iterations must be more than 0"); 

我更喜歡用WriteLineIf(),它可以打印出錯(cuò)誤消息以及錯(cuò)誤種類。***個(gè)參數(shù)包含一個(gè)用于調(diào)試開關(guān)的值,可以讓你控制打印什么級(jí)別的輸出。

System.Diagnostics.Trace 的運(yùn)用同Debug的用法完全一樣。不同的地方是,Debug只編譯到Debug版本中,而C#運(yùn)用Trace語句編譯到Debug和Release版本中。因此,C#運(yùn)用Trace語句應(yīng)更謹(jǐn)慎。將Trace語句用到可以在編程實(shí)戰(zhàn)中幫你發(fā)現(xiàn)bugs或捕獲使用特征的代碼中。

為什么用這種方法? 運(yùn)用這些方法可以讓你知道代碼執(zhí)行的順序。這有助于你確定在程序出錯(cuò)前有何動(dòng)作(actions)。


當(dāng)前文章:C#運(yùn)用Trace語句
網(wǎng)站路徑:http://m.5511xx.com/article/cosdjpp.html