JavaScript is required to for searching.
跳过导航链接
退出打印视图
Oracle Solaris Studio 12.3:Discover 和 Uncover 用户指南     Oracle Solaris Studio 12.3 Information Library (简体中文)
search filter icon
search icon

文档信息

前言

1.  简介

2.  内存错误搜索工具 (Discover)

3.  代码覆盖工具 (Uncover)

Uncover 的使用要求

使用 Uncover

检测二进制文件

运行检测过的二进制文件

生成并查看覆盖报告

示例

了解性能分析器中的覆盖报告

`Functions`(函数)选项卡

`Uncoverage`(未覆盖)计数器

`Function Count`(函数计数)计数器

`Instr Exec`(指令执行)计数器

`Block Covered %`(块覆盖率)计数器

`Instr Covered %`(指令覆盖率)计数器

`Source`(源)选项卡

`Disassembly`(反汇编)选项卡

`Inst-Freq`(指令频率)选项卡

了解 ASCII 覆盖报告

了解 HTML 覆盖报告

使用 Uncover 时的限制

只能检测有注释的代码

计算机指令可能不同于源代码

示例 1

示例 2

示例 3

索引

Uncover 的使用要求

Uncover 使用通过 Sun Studio 12 Update 1、Oracle Solaris Studio 12.2 或 Oracle Solaris Studio 12.3 编译器编译的二进制文件,或通过 GCC for Sun Systems 4.2.0 版(或更高版本)编辑器编译的二进制文件。Uncover 适用于运行 Solaris 10 10/08 操作系统(或更高的 Solaris 10 Update 版本)或 Oracle Solaris 11 的基于 SPARC 或基于 x86 的系统。

按照说明进行编译的二进制文件包含一些信息,Uncover 可使用这些信息可靠地反汇编二进制文件,以便对其进行检测以收集覆盖数据,

在编译二进制文件时使用 -g 选项生成调试信息,可以让 Uncover 使用源代码级别的覆盖信息。如果二进制文件不是使用 -g 选项编译的,Uncover 只能使用基于程序计数器 (program counter, PC) 的覆盖信息。

Uncover 适用于使用 Oracle Solaris Studio 编译器生成的任何二进制文件,但最适合于在不使用优化选项的情况下生成的二进制文件。(以前的 Uncover 发行版至少需要 -O1 优化级别。)如果二进制文件是使用优化选项生成的,则使用较低的优化级别(-O1-O2)时 Uncover 结果将更佳。在生成二进制文件时使用 -g 选项会生成调试信息,通过该信息,Uncover 可以将指令与行编号相关联,从而获得源代码行级别覆盖信息优化级别为 -O3 和更高级别时,编译器可能会删除可能从不不执行的或冗余的某一代码,这可能导致没有任何二进制文件指令用于某些源代码行。在此类情况下,将不会为这些行报告任何覆盖信息。有关更多信息,请参见使用 Uncover 时的限制