Deadlock Detection & Debugging for .NET

.NET does not have buit-in support for deadlock detection.  It is sometime cumbersome to reproduce scenario and identify the reasons for the deadlock.  Depending on Debugging Tools for Windows Corneliu’s tool is a welcome addition to the professional .NET developer’s toolbox.

His debugging tool is as user friendly as one can imagine: no re-compilation needed, no external references to be added, easy xcopy deployment.  It even works with release builds without PDB files around and can be attached to currently running process or previously captured core dumps.  Detecting deadlocks across multiple threads and discovering lock usage information it is a must for parallel programmers.

Currently it only detects deadlocks in threads which are actively waiting for locks acquired by other threads and it does not detect deadlocks created in combination of time waits/wake/check/lock.

By attaching the CDB.EXE (native Windows Debugger) into memory and hooking into its input and output streams it sends command to and receives output from the debugger which are then parsed using the SoS (Son on Strike) debugging extensions.

Find out all about it at Corneliu’s website.  Best of it all: it’s free with its source code to be released soon.







Leave a Reply

Bad Behavior has blocked 1546 access attempts in the last 7 days.