This is a preliminary release of the Data Race Detection Tool (DRDT). Use DRDT to detect data-races that occur during the execution of a single, multi-threaded process.
A 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. Of course, 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.
DRDT can detect data races that occur in code written using the POSIX thread API, the Solaris Operating System(R) thread API, OpenMP directives, Sun parallel directives, Cray(R) parallel directives, or a mix of these.
DRDT supports the following hardware and operating systems:
Getting Started Guide
for instructions on how to invoke and use DRDT.
Please note that DRDT 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.
This release of DRDT includes the following features:
This preliminary release is supported by the following documenation:
The following are known limitations in DRDT.
Sign on to the Sun Studio Tools user forums 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.