www.tech.findforinfo.com 1
Tracing
www.tech.findforinfo.com 2
Contents
Why Tracing Tracing in ASP.NET Page Level tracing Application Level tracing Tracing options Trace Output
www.tech.findforinfo.com 3
Debugging in Traditional ASP
ONE OF THE MOST COMMON WAYS to debug
traditional ASP web applications is to use trusty
calls to Response.Write.
This approach had several drawbacks.
When you are finished debugging your web
application using calls to Response.Write, you are
then faced with the daunting task of stripping out
all this debug code.
www.tech.findforinfo.com 4
Debugging in Traditional ASP
Same type of code is used both for
debugging and valid
out(Response.Write)
When your ASP pages get to be
hundreds of lines long, this can be a
real pain.
www.tech.findforinfo.com 5
Tracing in ASP.NET
To address this issue,ASP.NET implements the TraceContext class.
www.tech.findforinfo.com 6
Configuration
To use tracing in your ASP.NET web application, you need to enable it.This can be done at either The page level
(or) The application level.
www.tech.findforinfo.com 7
Page-Level Configuration
Enabling tracing at the page level entails adding the Trace attribute to the @Page
directive, like this:
If the Trace attribute has a value of true, tracing information will be displayed at the bottom of your ASP.NET page after the entire page has been rendered.
<%@ Page Language=”C#” Trace=”true” %>
www.tech.findforinfo.com 8
Application-Level Configuration
Several tracing options are available at the application level.
These settings are specified using the <trace> XML element in the system.web> section of the web.config file.
www.tech.findforinfo.com 9
Example of Application Level tracing
<configuration>
<system.web>
<trace enabled=”true” pageOutput=”false” requestLimit=”20”
traceMode=”SortByTime” localOnly=”true” />
</system.web>
</configuration>
www.tech.findforinfo.com 10
Trace Tag attributes
Attributes DescriptionrequestLimit Sets the no:of trace requests to
store on the server,Default :10Tracemode SortByTime,SortByCategory
PageOutput Sets whether the trace information is to be displayed at the bottom of every page
www.tech.findforinfo.com 11
Trace Tag attributes
Attributes DescriptionEnabled Set when the application level
tracing is enableLocalonly Set whether tracing is enabled
for localhost user
www.tech.findforinfo.com 12
page-level configuration settings overrule application-
level settings.
if tracing is disabled at the application level but is enabled at the page level,
trace information will still be displayed in the browser.
www.tech.findforinfo.com 13
Trace output
Now that you’ve heard so much about configuring ASP.NET tracing, what exactly
does it provide? Essentially, the trace output
generated by the TraceContext object and displayed at the bottom of your rendered ASP.NET page contains several sections.
www.tech.findforinfo.com 14
Request Details
www.tech.findforinfo.com 15
Request Details
www.tech.findforinfo.com 16
Trace Information
www.tech.findforinfo.com 17
Trace information
The Trace Information section contains the various trace
messages and warnings that both you and the ASP.NET
engine add to the trace output.
By default, the ASP.NET engine adds messages for when
any events begin or end, as with PreRender.
The order in which the contents of the Trace Information
section appear is determined by either the TraceMode
attribute
www.tech.findforinfo.com 18
Control tree
www.tech.findforinfo.com 19
Cookies collection
www.tech.findforinfo.com 20
Cookies Collection
The Cookies Collection section lists all the cookies that are associated with your
ASP.NET web application.
www.tech.findforinfo.com 21
Headers collection (Http Headers)
www.tech.findforinfo.com 22
Form Collection
www.tech.findforinfo.com 23
Form Collection
The Form Collection section is displayed
only if your ASP.NET page includes a web
form.
First, it displays the page’s VIEWSTATE.
Below the VIEWSTATE item is a listing of
each control in the Form Collection
section, along with its value.
www.tech.findforinfo.com 24
Querystring collection
www.tech.findforinfo.com 25
The Querystring Collection section is displayed only if your ASP.NET page has
Querystring parameters passed to it.
www.tech.findforinfo.com 26
Server variable
www.tech.findforinfo.com 27
Figure 6.11 Viewing a trace message with a category and
exception information in the trace output.<%@ Page Language=”C#” Trace=”true” %><script language=”C#” runat=”server”>protected void Page_Load(object Sender, EventArgs e){int x = 1;int y = 0;try{int z = x / y;}catch(DivideByZeroException ex){Trace.Write(“Errors”,”Testing the limits of infinity?”,ex);}}</script>
www.tech.findforinfo.com 28
Custom trace messages