A lot of time has passed since my introductory post and I was really felling guilty that I could not spend some time to share on what I had promised.
Now that I have got some time to post, let me talk about the CLR error reporting infrastructure.
With .NET 2.0, CLR shipped with a shim which, when an application fails, would pop up the (un)famous "Send this error report to Microsoft" dialog.
Why is this important? For multiple reasons:
Let's write a test application which crashes(Code is attached).
using
class
{
}
When you click on the "What data does this error report contain" link on the above dialog, you get the details. Here, it tells that the failure was due to System.Exception.
If you like to dig deeper, and which I would encourage you to go, you can click in the "View the contents of the error report" link on the above dialog. This will pop up a dialog with a lot of information, most of which might confuse you (it did to me when I first saw it). This dialog contains some of the technical information needed to diagonize the failure. I will go into more details in some other post. But just to give you a glimpse, besides other information, this dialog contains the information on which modules were loaded when the process crashed.