Debugging
is the process of finding and correcting the errors in a program. In normal
Active Server Pages (ASP) file Response.Write statement was the only primary
method to debug the errors and even Script Debugger was not sophisticated
to debug, in comparison to the debuggers that Windows developers had for
Visual Basic and C++ code.
All these
deficiencies have been changed in .Net Framework because the Common Language
Runtime provides integrated debugging for all the applications. The primary
objectives for debugging in ASP.NET include both in-process and out-of-process
debugging, remote process debugging, managed and unmanaged code debugging,
edit and continue, and mixed language support.
You can enable
debugging in ASP.NET page by writing the <%@Page debug=True
%> page directive at the top of the page. This statement asks the compiler
to exclude debugging symbols into the compiled page, and allows the debugger
to attach to the running program. But before using the debugger, you should
also need to view the web page in the browser so that the debugging symbols
are loaded for the page.
The SDK debugger
that comes along with .NET SDK can be found in the GuiDebug directory.
This debugger has all the features such as viewing contents of variables,
setting breakpoints on specific exceptions, expressions, or specific lines,
stepping into, out of, and over code, and viewing the call stack, threads
and modules as that of Visual Studio debugger except that SDK debugger
does not support remote debugging or Edit and Continue features. Therefore
it can be presumed that SDK debugger is a read-only debugger that does
not allow you to edit code inline. You can just edit the code externally
and to view the new changes made in the application you have to rerun
the application.
Just-In-Time
debugging is another technique to debug a program that is started outside
of Visual Studio. If you have enabled Just-In-Time debugging, you can
view a dialog box when a crash occurs.