教育

站长菜鸟课堂在VisualCNET中

2019-06-13 21:42:37来源:励志吧0次阅读

11:07 来源:java060515 :Googler【纠错】人评论

A-A+ 怎么开淘宝店 站优化方法 创业如何获得投资 小米note顶配版评测 LOL活动

本文介绍如何使用 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 时,输出窗口才显示消息。该消息还在一个模式对话框中向用户显示。该对话框包括消息、项目名和 sert 语句编号。该对话框还包括下列三个命令按钮:

终止:应用程序停止运行。

重试:应用程序进入调试模式。

忽略:应用程序继续。

用户必须先单击这些按钮中的一个,然后应用程序才可以继续。

您还可以指示从 Debug 类向输出窗口以外的目标进行输出。Debug 类有一个名为 Listeners 的集合,该集合包括一些 Listener 对象。

每个 Listener 对象都监视 Debug 输出并使输出指向指定的目标。

Listener 集合中的每个 Listener 都接收 Debug 类生成的任何输出。请使用 TextWriterTraceListener 类定义 Listener 对象。可以通过 TextWriterTraceListener 类的构造函数为该类指定目标。

一些可能的输出目标包括: 使用 t 属性指定控制台窗口作为输出目标。

使用 eateText(t) 语句指定文本文件 (.txt) 作为输出目标。

创建 TextWriterTraceListener 对象后,必须将该对象添加到 steners 集合才可接收调试输出。

使用 Debug 类创建一个示例1. 启动 Visual Studio .NET。

2. 新建一个名为 conInfo 的新 Visual C# .NET 控制台应用程序项目。将创建 Class1。

3. 在 Class1 的顶部添加以下名称空间。

using agnostics;

4. 要初始化变量以使其包含产品的相关信息,请将下面的声明语句添加到 Main 方法:

string sProdName = Widget;

int iUnitQty = 100;

double dUnitCost = 1.03;

5. 将类生成的消息指定为 WriteLine 方法的个输入参数。按 CTRL+ALT+O 组合键以确保输出窗口可见。

iteLine(Debug Information-Product Starting );

6. 为了清晰易读,请使用 Indent 方法在输出窗口中缩进后面的消息:

dent();

7. 要显示所选变量的内容,请使用 WriteLine 方法,如下所示:

iteLine(The product name is + sProdName);

iteLine(The available units on hand are + String());

iteLine(The per unit cost is + String());

8. 您还可以使用 WriteLine 方法显示现有对象的名称空间和类名称。例如,下面的代码在输出窗口中显示 lDocument 命名空间:

lDocument oxml = new lDocument();

iteLine(oxml);

9. 要整理输出,可以包括一个类别作为 WriteLine 方法的第二个可选的输入参数。如果您指定一个类别,则输出窗口消息的格式为类别:消息。例如,以下代码的行在输出窗口中显示Field:The product name is Widget:

iteLine(The product name is + sProdNameField);

iteLine(The units on hand are + iUnitQtyField);

iteLine(The per unit cost is + String()Field);

iteLine(Total Cost is + (iUnitQty * dUnitCost)Calc);

10. 仅在使用 Debug 类的 WriteLineIf 方法将指定条件计算为 true 时,输出窗口才可以显示消息。将要计算的条件是 WriteLineIf 方法的个输入参数。WriteLineIf 的第二个参数是仅在个参数的条件计算为真时才显示的消息。

iteLineIf(iUnitQty 50 This message WILL appear);

iteLineIf(iUnitQty 50 This message will NOT appear);

11. 使用 Debug 类的 Assert 方法,使输出窗口仅在指定条件计算为 false 时才显示消息:

sert(dUnitCost 1 Message will NOT appear);

sert(dUnitCost 1 Message will appear since dUnitcost 1 is false);

12. 为控制台窗口 (tr1) 和名为 t (tr2) 的文本文件创建 TextWriterTraceListener 对象,然后将每个对象添加到 Debug Listeners 集合中:

TextWriterTraceListener tr1 = new TextWriterTraceListener(t);

d(tr1);

TextWriterTraceListener tr2 = new TextWriterTraceListener(eateText(t));

d(tr2);

13. 为了清晰易读,请使用 Unindent 方法去除 Debug 类为后续消息生成的缩进。当您将 Indent 和 Unindent 两种方法一起使用时,读取器可以将输出分成组。

indent();

iteLine(Debug Information-Product Ending);

14. 为了确保每个 Listener 对象收到它的所有输出,请为 Debug 类缓冲区调用 Flush 方法:

ush();

使用 Trace 类 您还可以使用 Trace 类生成监视应用程序执行的消息。Trace 和 Debug 类共享大多数相同的方法来生成输出,这些方法包括: WriteLine

WriteLineIf

Indent

Unindent

Assert

Flush

您可以在同一应用程序中分别或同时使用 Trace 和 Debug 类。在一个调试解决方案配置项目中,Trace 和 Debug 两种输出均为活动状态。该项目从这两个类为 Listener 对象生成输出。但是,发布解决方案配置项目仅从 Trace 类生成输出。该发布解决方案配置项目忽略任何 Debug 类方法调用。

查看更多相似文章

血汗症
治疗癫痫办法
静脉炎
分享到: