ASP.NET Internals : Visualizing ASP.NET Page Life Cycle using IntelliTrace

Understanding the ASP.NET Page Life Cycle is an essential knowledge for developing ASP.NET Web Application. When request come from client to server there are many operations performed in backend before sending response to the client. When client request for some information from a web server, request first reaches to HTTP.SYS, which is the kernel level of IIS. HTTP.SYS then send the request to respective  Application Pool. Application Pool then forward the request to worker process to load the ISAPI Extension which will create an HTTPRuntime Object to Process the request via HTTPModule and HTTPHanlder.  Once request passed through the HTPP Pipeline, ASP.NET Page Life Cycle Start.  You will find several articles that describes the What is ASP.NET Page lifecycle, what are the different events fired during page lifecycle.  This post is something different, I will show you how you can see the each and individual Page life cycle events using IntelliTrace

IntelliTrace Log ( .iTrace ) files and Visual Studio 2010 SP 1– Some Hidden Stuff

IntelliTrace debugging  is only available with Visual Studio 2010 Ultimate Edition, which collects debugging information in background and can be used at any point to time to analysis previous debugging data. IntelliTrace collected debugger information into a trace log file (.iTrace ) that can then be opened and debugged using Visual Studio later.  Size of .iTrace was always a concerns, as it’s take huge amount of your hard drive space and IntelliTrace is on by default. So whenever you are doing F5 debugging in Visual studio .iTrace is getting saved and it’s consuming your hard drive.

Well, before moving forward, I must thank to Larry Guger , Program Manager for IntelliTrace features .  Yesterday  I had a discussion with him on IntelliTrace .  During discussion I found there are several changes on IntelliTrace log saving which has been shifted with Visual Studio 2010 SP1. I have already blogged about few of them over here http://bit.ly/f8awhz. But few hidden stuff was missing which I got to know from Larry only.   In this post I am going  to discussed about those changes.

Collecting Module Specific Debugging Information using IntelliTrace

I am sure by this time all of you already aware of what is IntelliTrace Debugging. Just to give a quick overview, IntelliTrace is a new features of Visual Studio 2010 Ultimate Edition. By default IntelliTrace is enabled . During  debugging in Visual Studio, IntelliTrace works  in the background and  collect debugging information automatically and stored them in IntelliTrace Log File (. iTrace File ) . You can use the log file at any point of time to see what happened exactly at background during your live debugging. To know more details, you can see my several articles published on IntelliTrace  and for step by step guide read “Debugging Application using IntelliTrace” from MSDN .

Using IntelliTrace you can capture module specific information. This is really helpful when you don’t want to debug certain modules during your debugging process. In this post I am going to discuss about how you can collect module specific information using IntelliTrace.