Thread Validator is a thread analysis software tool for use by software developers and software quality assurance testers. Thread deadlocks cause your application to hang and high thread contention for critical sections can cause your application to perform poorly. Thread Validator allows you to monitor these situations and more.
Use Thread Validator to:
Painless deadlock detection with Thread Validator.
Thread Validator multiple displays to provide you with different perspectives onto the data you have collected.
To use Thread Validator all you need is debugging information for your application and Thread Validator can get to work. You do not need to modify your software, recompile or relink your software to use Thread Validator.
Easy to read data displays show you the critical section for each thread as your application executes. You do not need to wait until your application has finished to view statistics for any function, file or DLL. The displays can be filtered to show you only the information that you want to work with.
Detailed, colour coded displays shows at-a-glance which which critical sections are locked and and which critical sections have high contention rates.
The lock order can also be inspected. Click on any item to see which other threads are also hold this lock or waiting on this lock.
Thread Validator can be configured to collect all data or just the data you need. Powerful filters for collecting data and for displaying collected data give you maximum flexibility and control over how much CPU time is spent and how much memory is used collecting data allowing you to choose how much effort is put into a given task.
Thread Validator provides an API for using Thread Validator with services for the case when Thread Validator cannot inject into a service because of Windows NT security privileges preventing the injection (typically for services running at Administrator or system level).
The default options of Thread Validator provide profiling data for all DLLs and files in your application that have debugging information. If you wish to only create profiling reports for selected DLLs, or exclude certain file types or even specific classes and methods, Thread Validator has filtering capabilities to allow such customisation.
Thread Validator works with compilers from:
|Vendor||Language||Compiler / IDE|
|Microsoft||C++, C, Visual Basic 6||Visual Studio|
|Intel||C++, C, Fortran||Intel Performance Compiler, Intel Fortran|
|Embarcadero||C++, C, Delphi||C++ Builder, Delphi, Rad Studio|
|MinGW||C++, C||g++ / gcc|
|Metrowerks||C++, C||Code Warrior|
|Salford Software||Fortran 95||Fortran 95|
We support many versions of Visual Studio: Visual Studio 2022, 2019, 2017, 2015, 2013, 2012, 2010, 2008, 2005, 2003, 2002 and Visual Studio 6 are supported.
All 64 bit (x64) Windows operating systems are supported.
All 32 bit Windows operating systems from Windows 11 to Windows XP are supported.
For more details, please consult the compatibility feature list.
Thread Validator can’t instrument the .Net monitors in your application, but if you’re writing mixed mode applications Thread Validator can instrument the native parts of your mixed mode application.
Thread Validator also allows you to automate thread analysis by launching Thread Validator from the command line.
A full range of command line options allow you to perform unattended thread analysis with Thread Validator, complete with HTML export and XML export, to facilitate regression testing as part of your overnight builds.
Example 1 Launch an application, when the application completes save the results and refresh some displays.
threadValidator.exe -program "c:\myProgram.exe" -saveSession "c:\myResults\session1.tvm" -displayUI -refreshSummary -refreshLocks -refreshActiveObjects
Example 2 Launch an application, when the application completes save the results and export the results as HTML.
threadValidator.exe -program "c:\myProgram.exe" -saveSession "c:\myResults\session1.tvm" -exportAsHTML "c:\myResults\session1.html" -hideUI
We update our software tools on a regular basis – on average about 26 updates per year. Updates are optional, you only need to download the most recent update to be up-to-date.
You can set up automatic software updates using the credentials we supply to you when you purchase. Automatic software updates can be setup to check daily, weekly, monthly or never.
If you’re curious about the Thread Validator change history you can view it here.