From Wikipedia: “A deadlock is a situation wherein two or more competing actions are waiting for the other to finish, and thus neither ever does”. Deadlocks are terribly difficult to find and even more difficult to debug. Debug Inspector is a free tool that allows you to view the call stacks of multiple threads at the same time, plugs in to the internals of the CLR and automatically detects deadlocks (Thanks to Eyal Zuker for introducing me to this tool).

 

The most powerful feature of this tool is that it works on both managed and unmanaged code. It is actually a Visual Studio extension which can be used to detect managed deadlocks and a standalone executable to detect unmanaged deadlocks. Besides detecting deadlocks, there are more features to this tool:

  • You can browse multiple thread’s call stacks at the same time without having to switch threads using the threads window.
  • For managed code, you can see the actual internal CLR Stack frames and frame types as the CLR stores them.
  • See which objects your thread owns, and which kernel objects you are waiting on.
  • Double click on the stack frame and go to the line of code, if available, or the disassembly of the method.

debuginspector

This is really a great tool, go and download it from its official site.

Tags :

Post a Comment