Sunday, February 26, 2006

ClrDump Utility

DebugInfo.com - ClrDump - Create small minidumps of .NET applications

"ClrDump is an experimental set of tools that allow to produce small minidumps of managed applications. In the past, it was necessary to use full dumps (very large in size) if you needed to perform post-mortem analysis of a .NET application. ClrDump can produce small minidumps that contain enough information to recover the call stacks of all threads in the application.

Use the following SOS commands to obtain the call stacks when debugging a crash dump produced with ClrDump:

.NET 1.1 applications:

!dumpstack -EE
Get managed call stack
!dumpstack
Get mixed managed/unmanaged call stack
!clrstack
Do not use it, it does not work correctly with small dumps and can destabilize your debugger

.NET 2.0 applications:

!dumpstack -EE
Get managed call stack
!dumpstack
Get mixed managed/unmanaged call stack
!clrstack
Get managed call stack

For .NET 1.1 applications, ClrDump uses undocumented interfaces implemented by .NET Runtime. For .NET 2.0 applications, it uses small minidump support in DbgHelp.dll.

..."

Interesting. Sounds like a nice Utility Belt item.

(via DebugInfo.com - Oleg Starodumov - ClrDump - Create small minidumps of .NET applications)

No comments: