Debugging and Tracing in ASP.NET (1/4) | WebReference

Debugging and Tracing in ASP.NET (1/4)

current pageTo page 2To page 3To page 4

Debugging and Tracing in ASP.NET

By Utpal Chakraborty (

Before Web development was popular and most applications were stand alone programs debugging strategies depended a lot on how and where they were being developed. When developing in C/C++ printf(...) was a favorite debugging tool on both UNIX and DOS environments for programmers. That changed when Integrated Development Environments--IDEs--like Borland's Turbo C++ and Microsoft's Visual Studio came along. These allowed stepping through code and watching local and global variables in a GUI as each line of code was executed. Suddenly, debugging was much more efficient. All that changed once again with the Web programming model. Debugging was once again much harder and reduced to print statements. Server side debugging before Visual Studio .NET was never up to the mark. Even with Visual Studio .NET server side debugging still does not have all the bells and whistles that the older IDEs had while developing stand-alone applications. On the brighter side the .NET framework comes with an enhanced library to aid in debugging and performance monitoring that makes debugging Web applications easier than before.

In this article we will review these classes and see how to use them. Although we specifically target Web applications in this article most of all that we will discuss applies to other programming models (like standalone programs) too. For now, we will focus on debugging and tracing. The code examples in this article will use C# but the ideas are language independent and can be used in any language that can be used to program in .NET framework.

The System.Diagnostics namespace has almost all the classes we need for debugging and tracing. All of these classes can be subdivided into five logical groups. The first group of classes is the debugging helper classes that provide useful methods to write code that is easy to debug and maintain. The second group of classes provides tracing ability. Using these classes we are able to write trace data into many different tracing systems simultaneously. The third group of classes enables interaction with the Windows event log. Using these classes it is possible to read and write to the standard event logs (Application, Security, System) defined in Windows. It is also possible to create new logs. The fourth group of classes provide the ability to do performance monitoring. The fifth and last group provide a set of classes to obtain process information.

current pageTo page 2To page 3To page 4

Created: December 4, 2002
Revised: December 4, 2002