Skip Navigation Links | |
Exit Print View | |
Oracle Solaris Studio 12.3: Discover and Uncover User's Guide Oracle Solaris Studio 12.3 Information Library |
2. Memory Error Discovery Tool (Discover)
3. Code Coverage Tool (Uncover)
Running the Instrumented Binary
Generating and Viewing the Coverage Report
Understanding the Coverage Report in the Performance Analyzer
Understanding the ASCII Coverage Report
Understanding the HTML Coverage Report
Limitations When Using Uncover
Only Annotated Code Can Be Instrumented
Uncover 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 4.2.0 or later compilers. It work on a SPARC-based or x86-based system running the Solaris 10 10/08 operating system or a later Solaris 10 update, or Oracle Solaris 11.
A binary compiled as described includes information that Uncover uses to reliably disassemble the binary to instrument it for coverage data collection.
Using the -g option to generate debug information when compiling the binary allows Uncover to use source code level coverage information. If your binary is not compiled with the -g option, Uncover uses only program counter (PC) based coverage information.
Uncover works with any binary built with Oracle Solaris Studio compilers, but works best with binaries built with no optimization option. (Previous releases of Uncover required at least the -O1 optimization level.) If your binary is built with an optimization option, Uncover results will be better with lower optimization levels (-O1 or -O2). Uncover derives the source line level coverage by relating the instructions to line numbers using the debug information generated when the binary is built with the -goption. At optimization levels -O3 and higher, the compiler might delete some code that might never be executed or is redundant, which might result in no binary instructions for some source code lines. In such cases, no coverage information will be reported for those lines. See Limitations When Using Uncover for more information.