JavaScript is required to for searching.
Skip Navigation Links
Exit Print View
Oracle Solaris Studio 12.3: Discover and Uncover User's Guide     Oracle Solaris Studio 12.3 Information Library
search filter icon
search icon

Document Information


1.  Introduction

2.  Memory Error Discovery Tool (Discover)

3.  Code Coverage Tool (Uncover)

Requirements for Using Uncover

Using Uncover

Instrumenting the Binary

Running the Instrumented Binary

Generating and Viewing the Coverage Report


Understanding the Coverage Report in the Performance Analyzer

The Functions Tab

The Uncoverage Counter

The Function Count Counter

The Instr Exec Counter

The Block Covered % Counter

The Instr Covered % Counter

The Source Tab

The Disassembly Tab

The Inst-Freq Tab

Understanding the ASCII Coverage Report

Understanding the HTML Coverage Report

Limitations When Using Uncover

Only Annotated Code Can Be Instrumented

Machine Instructions Might Differ From Source Code

Example 1

Example 2

Example 3


Requirements for Using Uncover

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.