Contents
About the Thread AnalyzerThis is a preliminary release of the Thread Analyzer. The Thread Analyzer is a tool that analyzes the execution of a multi-threaded program and checks for a variety of multi-threaded programming errors such as data races and deadlocks. The tool can detect errors in code that is written using the POSIX thread API, the Solaris Operating System(R) thread API, OpenMP API, Sun parallel directives, Cray(R) parallel directives, or a mix of these. Data RacesA data race occurs under the following conditions:
When these three conditions hold, the order of accesses is non-deterministic. Therefore each run can give different results depending on the order of the accesses. Some data races may be benign (for example, when the memory access is used for a busy-wait), but many data races are either bugs or caused by bugs in the program. Deadlocks Deadlock describes a condition where two or more threads are blocked (hang) forever, waiting for each other. Suppose we have a process with two or more threads. A deadlock occurs when the following three conditions hold:
Thread 1: holds lock A, requests lock B A deadlock can be of two types: A "potential deadlock" or an "actual deadlock". A potential deadlock is a deadlock that did not occur in a given run, but can occur in different runs of the program depending on the timings of the requests for locks by the threads. An actual deadlock is one that actually occured in a given run of the program. An actual deadlock causes the threads involved to hang, but may or may not cause the whole process to hang. See the Getting
Started Guide for instructions on how to use the Thread
Analyzer.
Please note that the Thread Analyzer is still in the development
stage. The user model -- including instrumentation requirements,
command names, command options, output formats, and GUI interface --
may change later in the product-release cycle. PlatformsThe Thread Analyzer supports the following hardware and operating systems:
How to DownloadThe Thread Analyzer is part of the Sun Studio software. To download and install the Sun Studio Express build which includes the Thread Analyzer, follow the instructions on the Sun Studio Express page.FeaturesThis release of the Thread Analyzer includes the following features:
Thread Analyzer DocumentationThis preliminary release is supported by the following documentation:
Limitations and IncompatibilitiesThe following are known limitations in the Thread Analyzer.
Questions and FeedbackSign on to the Sun Studio Tools Forum to post questions to Sun engineering and the community. You might find that your problem has already been solved. Be sure to state that you're using a Sun Studio Express build. (Page last modified February 12, 2007) |
| |||||
|
| ||||||||||||