IIS Troubleshooters rejoice!
If you’ve ever had an application on an IIS server do one of the following, this tool is for you:
– hang (or respond slowly)
– crash (W3WP.exe terminated unexpectedly)
– chew memory in the lead-up to a crash or need a restart on a regular basis (memory climbs, until it falls over, then memory starts climbing again)
DebugDiag automates much of the routine debugging work that we perform in PSS. We’re still useful for something (I’m told; my manager is supportive that way) but I’d guess that a good 50% of problems we see can be understood and resolved through the use of this tool.
And it’s not just for IIS, I should add – it’s a generally useful debugging tool, that just happens to be focused on IIS. But you could use it against pretty much any process in ad-hoc mode (where you just point and shoot a process to get a memory dump, though with Windows Vista, a dump file is always just a Task Manager click away!).
Once you have a dump file, the Hang/Crash and Memory Leak analyzers in DebugDiag can be run to provide analysis of that file, hopefully work out what’s gone wrong, and produce some recommendations about what to do next. Brilliant, no?
New in 1.1 (this is a quote, so please don’t shoot me if there’s something inaccurate here):
· IE7, Vista, and 64-bit Windows compatibility (currently targets only 32-bit processes, but works on 64-bit platforms)
· Leak rule improvements (dump on memory thresholds)
· Leak monitoring improvements (‘fasttrack’ feature, injection fixes)
· Analysis improvements (Data access components and socket support)
· Custom actions for crash rules (DebugDiag scripts)
· Managed call stack resolution
· Support for managed exceptions (such as System.DivideByZeroException)
· Support for debugger events (such as Module Load and Unload)
· Sample scripts included
I’m itching to give it a try! It’s available here.