### ASP.Net 调试之三板斧：第二招

第二招：Trace 追踪
用过 ASP 的人应该都用过下面的语句吧：
Response.Write XXX
Response.End
虽然我不太喜欢 ASP 的编程方法，但是这种方便的调试手段还是很好的。换用
ASP.Net 以后，我发现 ASP.Net 提供一种更强大的调试方法，它就是我们现在要说
的 Trace。所谓 Trace 功能就是在网页的最前面加上一些标记，至于是什么标记呢？嘿嘿，我不能马上告诉你(不好，臭鸡蛋……哇！)。我是说，我要先介绍一点基础的知识啦！
我不知道大家对 ASP.Net 的页面标示了解多少，为了下面讲解的方便，我还是
概要的介绍一下吧！ASP.Net 的页面标示指的是在每一个 ASP.Net 页面最上面，用
<%@和%>括起来的语句。它的功能是用来确定在处理 ASP.Net 文件的时候，需要系
统做一些什么特殊的设定。具体的语法如下：
<%@ directive attribute=value %>
其中：directive 就是页面标示符；attribute 是该标示符对应的一些属性。
注意：在属性之间需要空格，而在"="之间不能有空格。
ASP.Net 现在包含以下 7 种标识
@ Page,
@ Control,
@ Import,
@ Registe,
@ Assembly,
@ OutputCache,
@ Webservice
我们用得最多的就是@ Page 标示，而现在我要讲的 Trace 功能，也要用到@ Page。(关于这七个标示的具体应用，我会在以后发贴讲述的。)好了，回到我们的主题。要用 Trace 功能，你必须在页面的最上面加上：<%@ Page Trace="true" %> 这句话。加好后，你就可以看看页面的运行情况了。运行该页面。你会发现在页面的下半部分出现了一大堆的数据。下面就来解释一下这些数据的含义：
Request Details:通过 Request 方式向浏览器所读取的数据；
Trace Information:事件发生或程序执行的过程信息；
Control Tree:网页所使用的控件及控件之间的阶层关系；
Cookies Collection:网页所使用的 Cookie 信息；
Headers Collection:浏览器的表头信息。
Server Variables:Server 变量的数据信息。
有了这一大堆数据，我们的工作就好做多了，但且慢欢喜，Trace 还提供了更强大的功能，请接着看下去。
除了让 ASP.Net 页面显示这一堆数据外，我们还可以将程序中用到的变量的
值实时的显示在 Trace Information 区段中，其方法是调用 Trace.Warn 或 Trace.Write 两个方法。他们的用法如下：
Trace.Warn("Description",Variables);
Trace.Write("Description",Variables);
我想你们一定会问，这两个有什么区别呢？回答是：在功能上，这两个是一模一样的，只是在显示上，Trace.Warn 将会以红色字体表示。
好了，不知道这样介绍一下大家感觉怎么样？反正我是好累啊！好了不说了，有什么问题提吧，我会尽量做答的。让我们下次再见！