C++ deadlock detector - C++ Thread Validator
C++ 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. C++ Thread Validator allows you to monitor these situations and more.
Use C++ Thread Validator to:
•Identify deadlocks in your application.
•Identify potential deadlocks in your application.
•Identify busy contended critical sections in your application.
•View thread locking behaviour in real time.
•Improve your software quality by modifying your threading behaviour.
•View all open handles that your application can wait on.
C++ Thread Validator multiple displays to provide you with different perspectives onto the data you have collected.
Summary
Summary threading information
Locks
Statistics for all locks
Per Thread Locks
Statistics for all locks, by thread
Current Locks
Statistics for all locked locks
Threads
Thread activity data in graphical form
Coverage
Code coverage for all synchronization code.
Active Objects
Callstacks for synchronization object events
Analysis
Perform queries on collected data
Objects
Win32 synchronization objects, flags, names
Diagnostic
Diagnostic information about the application
Easy to use
To use C++ Thread Validator all you need is debugging information for your application and C++ Thread Validator can get to work. You do not need to modify your software, recompile or relink your software to use C++ Thread Validator.
•Launch your application with C++ Thread Validator.
C++ Thread Validator will launch and attach to your application in seconds.
•Run your application as normal.
•Close your application.
•Examine the profiling statistics that C++ Thread Validator generates as your application runs.
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.
Configurable
C++ 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.
C++ Thread Validator provides an API for using C++ Thread Validator with services for the case when C++ 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).
Powerful
The default options of C++ 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, C++ Thread Validator has filtering capabilities to allow such customisation.
Compatible
C++ Thread Validator works with compilers from:
All 64 bit (x64) Windows operating systems are supported.
All 32 bit Windows operating systems from Windows 10 to Windows NT 4.0 are supported.
© Copyright 2000-2023 COGITO SOFTWARE CO.,LTD. All rights reserved