|Skip Navigation Links|
|Exit Print View|
|Oracle Solaris Studio 12.3: Discover and Uncover User's Guide Oracle Solaris Studio 12.3 Information Library|
The Memory Error Discovery Tool (Discover) software is an advanced development tool for detecting memory access errors. Discover works on binaries compiled with the Sun Studio 12 Update 1, Oracle Solaris Studio 12.2, or Oracle Solaris Studio 12.3 compilers; or the GCC for Sun Systems compilers starting with version 4.2.0. It works on systems running the Solaris 10 10/08 operating system or a later Solaris 10 update, or Oracle Solaris 11.
Memory-related errors in programs are notoriously difficult to find. Discover allows you to find such errors easily by pointing out the exact place where the problem exists in the source code. For example, if your program allocates an array and does not initialize it, then tries to read from one of the array locations, the program will probably behave erratically. Discover can catch this problem when you run the program in the normal way.
Other errors detected by Discover include:
Reading from and writing to unallocated memory
Accessing memory beyond allocated array bounds
Incorrect use of freed memory
Freeing the wrong memory blocks
Since Discover catches and reports memory access errors dynamically during program execution, if a portion of user code is not executed at run time, errors in that portion are not reported.
Discover is simple to use. Any binary (even a fully optimized binary) that has been prepared by the compiler can be instrumented with a single command, then run in the normal way. During the run, Discover produces a report of the memory anomalies, which you can view as a text file, or as HTML in a web browser.