When you are developing an application, it's often helpful to be able to insert debugging print statements
into your code to output variables or structures, assert whether a condition is met, or just generally trace through
the execution path of the application. ASP+ provides two levels of tracing services that make it easy to do just that.
<p>
<ul>
<li><b>Page-level Tracing</b> - At the page-level, developers can use the <b>TraceContext</b> instrinsic to write custom debugging
statements that appear at the end of the client output delivered to the requesting browser. ASP+ also inserts some helpful statements
regarding the start/end of lifecycle methods, like Load() and Dispose(). Because tracing can be explicitly enabled or disabled for a page,
these statements may be left in the production code for a page with no impact to the page's performance. Each statement is associated
with a user-defined category for organizational purposes, and timing information is automatically collected by the ASP+ runtime. The
resulting output may be ordered by either time or category.
<p>
<li><b>Application-level Tracing</b> - Application level tracing provides a view of the inputs and outputs to a page, such as form and querystring variables or headers, as well as some
important statistics about the page's execution (control hierarchy, session and application state). Application-level tracing is enabled via the <a href="configoverview.aspx">ASP+
configuration system</a>, and accessed as a special mapped URL into that application ("trace.axd"). When application tracing is
enabled, page-level tracing is automatically enabled for all pages in that application.
</ul>
<p>
To learn more about how the Trace feature works, read the following two sections: <a href="tracelogpage.aspx">Trace Logging to Page Output</a> and <a href="tracelogapp.aspx">Application-level Trace Logging</a>.