Trace.axd--asp.net调试的新境界

在以往的经验中,很多时候,我们为了调试一个变量,会在页面中用Response.write输出一段字符串,以验证web程序是否运行到此处及是否正确获取了变量。也有人会调用封装好的js框架,alert或msgbox一条信息。这个在asp时代是最常见的方法。如果要调试比较复杂的信息,这种方法就显得有点力不从心。

不过,进入asp.net环境后,我们可以将这种方法彻底忘记。因为微软为我们提供了一个新的解决方案-Trace.axd

关于Trace.axd的官方说明,请查看MSDN:http://msdn.microsoft.com/zh-cn/library/6915t83k%28VS.80%29.aspx

它的功能主要是:配置 ASP.NET 代码跟踪服务以控制如何收集、存储和显示跟踪结果。

关键的几个选项:
1、localOnly,默认为false。这个很好理解。如果为true,只在本地输出跟踪信息。

2、enabled。是否启用跟踪。

3、pageOutput 指定在每一页的结尾是否呈现跟踪输出。如果是 false,则只能通过跟踪实用工具访问跟踪输出。

4、requestLimit 指定在服务器上存储的跟踪请求的数目。最大为10000,默认为10

5、traceMode 指定显示跟踪信息的顺序。SortByCategory或SortByTime(默认)

需要注意的是:

如果启用了对应用程序的跟踪,当请求任意页时,该页将收集跟踪信息并执行它所包含的任意跟踪语句。可以在跟踪查看器中查看跟踪输出。使用跟踪查看器,您可以在已从应用程序请求的页中选择特定的请求。

我们看一个简单的例子:

Vs2005/2008/vs2010环境下,新建一Web Appication,在默认的页面是添加简单的Label,TextBox,Button,提交一个最简单的请求。效果如下:


邀月工作室

邀月工作室


邀月工作室

对应的web.config如下:

<?xml version="1.0" encoding="utf-8"?>

<configuration>
<appSettings/>
<connectionStrings/>
<system.web>
<trace enabled="true"
localOnly
="true"
pageOutput
="true"
requestLimit
="15"
mostRecent
="true" />
<compilation debug="true" />
<authentication mode="Windows" />
</system.web>
</configuration>

本文参考:
http://msdn.microsoft.com/zh-cn/library/6915t83k%28VS.80%29.aspx

另外,更专业的调试工具,可以使用httpwatch
http://www.httpwatch.com/

posted @ 2010-09-02 12:13  邀月  阅读(1117)  评论(5编辑  收藏  举报