The following assumes your crash is one that only happens when using Thread Validator.
Here's a few scenarios in which your program might crash:
•Third party DLLs are using system wide hooks
Some DLLs from third party vendors use system wide hooks and do not interact with Thread Validator and the target program very well.
If you can identify such DLLs, prevent them being hooked by adding the DLL name to the Hooked DLLs page of the global settings dialog as in the example below.
•Third party DLLs are using global hooks
A global hook DLL from a third party vendor could be adversely affecting Thread Validator when hooking your program.
Read about handling global hooks on the Global Hooks page of the settings dialog.
Judging by multiple independent error reports, we believe there may be an incompatibility between Thread Validator and the global hooks that come with the Matrox G400 and the Matrox Millenium II PCI video cards released in the late 1990's.
•There may be a bug in Thread Validator
It happens. We've tried to make Thread Validator as robust as possible, but bugs and new scenarios do occur.
First, ensure that the crash never happens if you are not using Thread Validator.
Second, check all the suggestions above.
Then drop us a line sending details of the error and we'll try to reproduce the crash with a view to fixing any bugs found in as timely a manner as possible.