Debug Inspector
TM works on both Visual Studio 2005
and Visual Studio 2008, although for Visual Studio 2005 you will need to install the .Net Framework 3.5.
(We are working on removing this restriction.)
To get started, for Managed DeadLocks just press Control-Shift-M, or View\Other Windows\Managed Thread Stacks
from Visual Studio.
For Unmanaged Deadlocks you need to use the standalone DebugInspector.Studio.exe executable,
and please remember to NOT break into the process that you need to inspect. The unmanaged exe needs your process
to be running (type GO from WinDbg, F5 from Visual Studio etc to get the executable into running mode), and needs
all symbols via the symbol server (if you are looking at a managed app in this way, the symbols for mscorwks.dll
are crucial for it to work correctly, beacuse you will see calls like
mscorwks!StrongNameFreeBuffer and
mscorwks!CreateAssemblyCache instead of what you expect, like
KERNEL32!WaitForMultipleObjectsEx).
Once you have loaded the DebugInspector.Studio.exe, simply type the Process ID into the textbox on the toolbar
and click "GO".
Post Install Instructions
Remember that you will need install
Debugging Tools for Windows
and then copy dbgeng.dll, dbghelp.dll and symsrv.dll to the installation folder.
Vista Users
For unmanaged deadlock detection to work properly you will, in addition to the dlls listed above,
1. Copy kd.exe into the installation folder.
2.
Download
and then build the detoured.dll file from the
detours Microsoft site.
NOTE: You will need to boot in
Debug Mode and will
need to use these settings:
bcdedit /dbgsettings 1394 /start active /noumex
The /noumex is important as any program you have installed that is not correctly catching exceptions will hang
the kernel on startup as you will have no kernel debugger attached.