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

Document Information


1.  Introduction

2.  Collecting Data And Starting the Code Analyzer

Collecting Static Error Data

Collecting Dynamic Memory Access Data

Collecting Code Coverage Data

Starting the Code Analyzer GUI

A.  Errors Analyzed by the Code Analyzer


Collecting Code Coverage Data

Collecting code coverage data on your C or C++ program is a three-step process: instrumenting the binary with Uncover, running the instrumented binary, and then running Uncover again to generate a coverage report for use by the Code Analyzer.

You can run the instrumented binary multiple times after instrumenting it, and accumulate data over all of the runs before generating the coverage report

To instrument your program with Uncover to collect data for use by the Code Analyzer, you must have compiled the program with the Oracle Solaris Studio 12.3 C or C++ compiler. Compiling with the -g option generates debug information that allows the Code Analyzer to use source code level coverage information.

Note - If you saved a copy of the binary when you compiled your program for instrumenting with Discover, you can rename the copy to the original binary name and use it for instrumenting with Uncover. For example:

cp a.out

To collect code coverage data from the binary:

  1. Instrument the binary with Uncover:

    uncover binary_name
  2. Run the instrumented binary one or more times. The code coverage data is written to a binary_name.uc directory.

  3. Generate the code coverage report from the accumulated data using Uncover with the -a option:

    uncover -a  binary_name.uc

    The coverage report is written to the coverage subdirectory in the binary_name.analyze directory.

    Note - You must use the version of Uncover in Oracle Solaris Studio 12.3. The -a option is not available in earlier versions of Uncover.