亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 編程 > C# > 正文

在 Visual C# .NET 中跟蹤和調試

2023-05-20 20:23:36
字體:
來源:轉載
供稿:網友

本文介紹如何使用 Debug 和 Trace 類。Microsoft .NET Framework 中提供了這兩個類。在應用程序開發期間或部署到產品后,可以使用這兩個類提供有關應用程序性能的信息。這兩個類只是 .NET Framework 中所提供配置功能的一部分。

要求下面的列表概括了推薦的硬件、軟件、網絡結構以及所需的 Service Pack:

• Microsoft Windows 2000 或 Microsoft Windows XP

• Microsoft Visual C# .NET

本文還假定您熟悉程序調試。

方法說明

在使用 Debug 類創建一個示例一節中介紹的步驟演示了如何創建使用 Debug 類以提供有關程序執行信息的控制臺應用程序。

當程序運行時,您可以使 用 Debug 類的方法來生成消息,以幫助您監視程序執行順序、檢測故障或提供性能度量信息。默認情況下,Debug 類產生的消息顯示在 Visual Studio 集成開發環境 (IDE) 的“輸出”窗口中。

該代碼示例使用 WriteLine 方法生成后面帶有行結束符的消息。當您使用此方法生成消息時,每條消息在“輸出”窗口中均顯示為單獨的一行。

如果使用 Debug 類的 Assert 方法,那么只有在指定條件計算為 false 時,“輸出”窗口才顯示消息。該消息還在一個模式對話框中向用戶顯示。該對話框包括消息、項目名和 Debug.Assert 語句編號。該對話框還包括下列三個命令按鈕:

• 終止:應用程序停止運行。

• 重試:應用程序進入調試模式。

• 忽略:應用程序繼續。

用戶必須先單擊這些按鈕中的一個,然后應用程序才可以繼續。

您還可以指示從 Debug 類向“輸出”窗口以外的目標進行輸出。Debug 類有一個名為 Listeners 的集合,該集合包括一些 Listener 對象。

每 個 Listener 對象都監視 Debug 輸出并使輸出指向指定的目標。

Listener 集合中的每個 Listener 都接收 Debug 類生成的任何輸出。請使用 TextWriterTraceListener 類定義 Listener 對象??梢酝ㄟ^ TextWriterTraceListener 類的構造函數為該類指定目標。

一些可能的輸出目標包括:

• 使用 System.Console.Out 屬性指定“控制臺”窗口作為輸出目標。

• 使用 System.IO.File.CreateText("FileName.txt") 語句指定文本文件 (.txt) 作為輸出目標。

創建 TextWriterTraceListener 對象后,必須將該對象添加到 Debug.Listeners 集合才可接收調試輸出。

使 用 Debug 類創建一個示例

1. 啟動 Visual Studio .NET。

2. 新建一個名為 conInfo 的新 Visual C# .NET 控制臺應用程序項目。將創建 Class1。

3. 在 Class1 的頂部添加以下名稱空間。

using System.Diagnostics;

4. 要初始化變量以使其包含產品的相關信息,請將下面的聲明語句添加到 Main 方法:

string sProdName = "Widget";
        int iUnitQty = 100; 
        double dUnitCost = 1.03;

5. 將類生成的消息指定為 WriteLine 方法的第一個輸入參數。按 CTRL+ALT+O 組合鍵以確保“輸出”窗口可見。

Debug.WriteLine("Debug Information-Product Starting ");

6. 為了清晰易讀,請使用 Indent 方法在“輸出”窗口中縮進后面的消息:

Debug.Indent();

7. 要顯示所選變量的內容,請使用 WriteLine 方法,如下所示:

Debug.WriteLine("The product name is " + sProdName);
        Debug.WriteLine("The available units on hand are" + iUnitQty.ToString()); 
        Debug.WriteLine("The per unit cost is " + dUnitCost.ToString());

8. 您還可以使用 WriteLine 方法顯示現有對象的名稱空間和類名稱。例如,下面的代碼在“輸出”窗口中顯示 System.Xml.XmlDocument 命名空間:

System.Xml.XmlDocument oxml = new System.Xml.XmlDocument();

Debug.WriteLine(oxml);

9. 要整理輸出,可以包括一個類別作為 WriteLine 方法的第二個可選的輸入參數。如果您指定一個類別,則“輸出”窗口消息的格式為“類別:消息”。例如,以下代碼的第一行在“輸出”窗口中顯示

“Field:The product name is Widget”:

Debug.WriteLine("The product name is " + sProdName,"Field");
        Debug.WriteLine("The units on hand are" + iUnitQty,"Field"); 
        Debug.WriteLine("The per unit cost is" + dUnitCost.ToString(),"Field"); 
        Debug.WriteLine("Total Cost is " + (iUnitQty * dUnitCost),"Calc");

10. 僅在使用 Debug 類的 WriteLineIf 方法將指定條件計算為 true 時,“輸出”窗口才可以顯示消息。將要計算的條件是 WriteLineIf 方法的第一個輸入參數。WriteLineIf 的第二個參數是僅在第一個參數的條件計算為真時才顯示的消息。

Debug.WriteLineIf(iUnitQty > 50, "This message WILL appear");

Debug.WriteLineIf(iUnitQty < 50, "This message will NOT appear");

11. 使用 Debug 類的 Assert 方法,使“輸出”窗口僅在指定條件計算為 false 時才顯示消息:

Debug.Assert(dUnitCost > 1, "Message will NOT appear");

Debug.Assert(dUnitCost < 1, "Message will appear since dUnitcost < 1 is false");

12. 為“控制臺”窗口 (tr1) 和名為 Output.txt (tr2) 的文本文件創建 TextWriterTraceListener 對象,然后將每個對象添加到 Debug Listeners 集合中:

TextWriterTraceListener tr1 = new TextWriterTraceListener(System.Console.Out);

Debug.Listeners.Add(tr1);

TextWriterTraceListener tr2 = new TextWriterTraceListener(System.IO.File.CreateText("Output.txt"));

Debug.Listeners.Add(tr2);

13. 為了清晰易讀,請使用 Unindent 方法去除 Debug 類為后續消息生成的縮進。當您將 Indent 和 Unindent 兩種方法一起使用時,讀取器可以將輸出分成組。

Debug.Unindent();

Debug.WriteLine("Debug Information-Product Ending");

14. 為了確保每個 Listener 對象收到它的所有輸出,請為 Debug 類緩沖區調用 Flush 方法:
Debug.Flush();

使用 Trace 類 您還可以使用 Trace 類生成監視應用程序執行的消息。Trace 和 Debug 類共享大多數相同的方法來生成輸出,這些方法包括:

• WriteLine

• WriteLineIf

• Indent

• Unindent

• Assert

• Flush

您可以在同一應用程序中分別或同時使用 Trace 和 Debug 類。在一個“調試解決方案配置”項目中,Trace 和 Debug 兩種輸出均為活動狀態。該項目從這兩個類為 Listener 對象生成輸出。但是,“發布解決方案配置”項目僅從 Trace 類生成輸出。該“發布解決方案配置”項目忽略任何 Debug 類方法調用。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
欧美性猛交xxxx富婆弯腰| 欧美人交a欧美精品| 欧美黑人极品猛少妇色xxxxx| 欧美精品一区在线播放| 国产精品扒开腿做爽爽爽的视频| 亚洲人成网站999久久久综合| 欧美亚洲伦理www| 亚洲国内精品视频| 国产精品露脸av在线| 日韩理论片久久| 欧美亚洲成人网| 国产精品黄色影片导航在线观看| 亚洲伊人第一页| 亚洲欧美一区二区三区在线| 日韩av在线精品| 亚洲精品在线视频| 中文字幕日韩高清| 日韩在线视频免费观看高清中文| 亚洲级视频在线观看免费1级| 亚洲国产日韩欧美综合久久| 97精品免费视频| 欧美视频在线免费看| 亚洲欧美综合区自拍另类| www国产亚洲精品久久网站| 欧美高清视频免费观看| 2019亚洲日韩新视频| 97精品国产aⅴ7777| 激情懂色av一区av二区av| 久久久午夜视频| 日韩av在线影视| 全亚洲最色的网站在线观看| 欧美国产日韩一区| 国产精品网红直播| 亚洲自拍偷拍第一页| 国产日韩欧美在线看| 亚洲国产精品久久久| 91美女片黄在线观看游戏| 欧美黄色www| 伊人久久五月天| 国产一区二区三区18| 欧美性xxxxhd| 亚洲国语精品自产拍在线观看| 1769国内精品视频在线播放| 亚洲精品久久在线| 亚洲国产精品视频在线观看| 欧美大片在线看免费观看| 国产精品视频xxx| 亚洲3p在线观看| 亚洲人成电影网| 日韩精品日韩在线观看| 国产精品一区av| 欧美电影《睫毛膏》| 久久久久久九九九| 日韩中文字幕免费视频| 成人精品久久一区二区三区| 高清一区二区三区四区五区| 国产成人综合一区二区三区| 92看片淫黄大片看国产片| 亚洲国产另类 国产精品国产免费| 亚洲欧美自拍一区| 91av在线看| 日韩在线观看免费高清完整版| 亚洲影影院av| 亚洲片国产一区一级在线观看| 日本精品一区二区三区在线播放视频| 欧美xxxx综合视频| 中文字幕欧美精品日韩中文字幕| 国产视频精品一区二区三区| 国产精品美女久久久免费| 成人国产亚洲精品a区天堂华泰| 亚洲天堂日韩电影| 亚洲精品国产精品国自产在线| 日韩av在线资源| 久久精品国产91精品亚洲| 91国语精品自产拍在线观看性色| 自拍亚洲一区欧美另类| 色综合久久88色综合天天看泰| 久久av在线播放| 日韩午夜在线视频| 一本色道久久88精品综合| 狠狠色狠色综合曰曰| 疯狂做受xxxx欧美肥白少妇| 久久精品小视频| 日韩中文字幕国产| 欧美午夜美女看片| 日韩精品中文字幕久久臀| 亚洲天堂视频在线观看| 亚洲精品国产综合久久| 日本亚洲欧洲色| 成人性生交大片免费看视频直播| 97精品国产aⅴ7777| 成人av资源在线播放| 中文字幕亚洲欧美日韩2019| 国产精品久久综合av爱欲tv| 久久久999成人| 最近免费中文字幕视频2019| 97精品国产97久久久久久免费| 成人乱人伦精品视频在线观看| 亚洲天堂成人在线视频| 久久夜色精品亚洲噜噜国产mv| 成人网址在线观看| 国产精品高潮呻吟久久av野狼| 久久精品99久久久香蕉| 国外成人在线播放| 国产精品v片在线观看不卡| 色老头一区二区三区| 亚洲国产美女精品久久久久∴| 国产精品 欧美在线| 欧美激情免费在线| 亚洲欧美国产精品va在线观看| 亚洲天堂第一页| 中文字幕在线看视频国产欧美在线看完整| 国产精品中文字幕在线| 97在线视频免费看| 国产精品久久久久久久久久久久| 欧美日韩国产丝袜美女| 精品中文视频在线| 热久久免费视频精品| 久久免费视频这里只有精品| 国产精品久久久久久av福利| 性色av一区二区三区在线观看| 国产视频精品一区二区三区| 亚洲自拍高清视频网站| 久久久国产一区二区| 欧美黑人视频一区| 国产亚洲精品美女久久久| 97香蕉超级碰碰久久免费的优势| 上原亚衣av一区二区三区| 久久国产加勒比精品无码| 亚洲男人天堂九九视频| 日本高清视频一区| 中文字幕亚洲欧美在线| 日本电影亚洲天堂| 久久久免费高清电视剧观看| 亚洲第一二三四五区| 欧美激情亚洲一区| 亚洲free嫩bbb| 欧美性视频精品| 国产精品国产亚洲伊人久久| 另类专区欧美制服同性| 国产一区二区精品丝袜| 欧美激情一区二区三区成人| 国产mv免费观看入口亚洲| 欧美国产一区二区三区| 久久亚洲欧美日韩精品专区| 国产97在线亚洲| 国产一区二区三区日韩欧美| 亚洲成人av资源网| 欧美wwwwww| 精品视频在线观看日韩| 欧美日韩在线视频一区二区| 日韩中文第一页| 欧美亚洲在线视频| 日本精品视频在线| 亚洲的天堂在线中文字幕| 国产精品一区二区久久久久| 久久精品久久久久电影| 日韩在线视频观看| 日韩欧美一区二区三区久久| 欧美第一黄色网| 91a在线视频| 日韩av免费看网站| 精品偷拍一区二区三区在线看| 日韩欧美国产高清91|