Chat Question: What extension to use in what situation
So we have a bunch of debugger extensions that we need to use depending on the situation. So here are the extensions that can depend on various situations and when to use which. The first thing to decide is to load the right DLL for the Framework version and Process version:
Extension | Process Version | Framework Version |
clr10\sos.dll | any 32-bit process | .NET 1.0/.NET 1.1 |
Framework\v2.0.50727\sos.dll | any 32-bit process | .NET 2.0/.NET 3.0/.NET 3.5 |
Framework64\v2.0.50727\sos.dll | any 64-bit process | .NET 2.0/.NET 3.0/.NET 3.5 |
IISInfo.dll | any 32-bit process | N/A – IIS extension |
Keep in mind that you can run a 32-bit process on a 64-bit operating system. You would still use the 32-bit files to debug it.
If you are dealing with a crash, a good starting point is always to run !analyze -v. This will check for known issues and help to narrow down where the problem is for a crash. It isn’t perfect for .NET, but will do a great job getting you something to go on.
Once you have the right extension loaded, then you can start troubleshooting things.
Note: In the future, I hope to have a new extension that will run on top of SOS.dll and allow you to do some more advanced functions. This will give similar results to the clr10\sos.dll extension. But it will be able to run against all versions of the framework. I am still flushing things out on that, feel free to give me your comments here.
Keep checking the RECAP- ASP.NET Blog Chat to see other topics that Tess or I write about.
Comments
Anonymous
April 18, 2008
You've been kicked (a good thing) - Trackback from DotNetKicks.comAnonymous
April 18, 2008
So we have a bunch of debugger extensions that we need to use depending on the situation.  So hereAnonymous
May 19, 2008
So we have a bunch of debugger extensions that we need to use depending on the situation. So here areAnonymous
June 02, 2009
The comment has been removedAnonymous
June 03, 2009
That is very true, that is why in the table I talk about the process version, not really the OS version. Be sure to know which one you are running.