Thread Analyzer is a powerful tool that analyzes the execution of multithreaded programs and detects common threading errors, such as data races and deadlocks. With Thread Analyzer, you can debug multithreaded applications easier, leading to higher productivity. You can use Thread Analyzer with programs written using one or a combination of the following standards and frameworks:
POSIX threads API
Oracle Solaris threads API
See the tha(1) man page and Oracle Solaris Studio 12.4: Thread Analyzer User’s Guide for more information about Thread Analyzer.
In this release of Oracle Solaris Studio the following features have been added:
When doing binary instrumentation for data race detection using Discover, full call stacks are displayed for data race accesses.
Support for the atomic_ops API introduced in Oracle Solaris 10.
Support for collect –r terminate, which forces the termination of a process when deadlock detection is on and an actual deadlock occurs.
Thread Analyzer's user interface has been redesigned for improved data presentation and navigation along with the user interface for Performance Analyzer. For more information, see Performance Analyzer Navigation.
The following figure shows how Thread Analyzer displays dual call stacks when the binary has been instrumented using discover:
Figure 7-1 Thread Analyzer Window