Thread Validator - Overview
Thread Validator was created to provide automated detection of thread synchronisation
errors such as deadlock detection, potential deadlock detection and the detection
of lock acquisition strategies that may work, but be potentially dangerous.
Thread Validator can also provide complete stack traces for threads that have
already deadlocked. This is in contrast to the same situation you will find
in a debugger where the stack trace ends inside ntdll.dll. This allows you
to use Thread Validator to perform deadlock postmortem analysis.
View the feature
list for Thread Validator.
You can use Thread Validator in four ways:
- Inject Thread Validator into an already running executable
- Specify an executable to start, and Thread Validator will attach to that executable
- Specify an executable to watch, and Thread Validator will wait for the executable to start, then Thread Validator will attach to that executable. This feature is very useful for attaching to OLE servers that start when a document is opened inside a 3rd party application
- Link Thread Validator to your NT service
Thread Validator does not require your program to be recompiled or relinked.
Thread Validator does not cause significant drops in performance. Thread Validator
causes a target program to run marginally slower than normal.

