JavaScript is required to for searching.
跳过导航链接
退出打印视图
Oracle Solaris Studio 12.2 Discover 和 Uncover 用户指南
search filter icon
search icon

文档信息

前言

1.  简介

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

3.  代码覆盖率工具 (Uncover)

Uncover 的使用要求

使用 Uncover

校验二进制文件

运行校验过的二进制文件

生成并查看覆盖率报告

示例

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

"Functions"(函数)选项卡

"Uncoverage"(未覆盖率)计数器

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

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

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

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

"Source"(源代码)选项卡

"Disassembly"(反汇编)选项卡

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

了解 ASCII 覆盖率报告

了解 HTML 覆盖率报告

使用 Uncover 时的限制

只能校验有注释的代码

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

索引

使用 Uncover 时的限制

只能校验有注释的代码

Uncover 只能校验根据Uncover 的使用要求中的说明准备的代码。无注释代码可能来自链接到二进制文件中的汇编语言代码,或者来自使用早于该部分中所列版本的编译器或操作系统编译的模块。

在准备时,特别要排除包含 asm 语句或 .il 模板的汇编语言模块和函数。

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

Uncover 处理计算机代码。它会查找计算机指令的覆盖率,然后将此覆盖率与源代码相关联。某些源代码语句没有关联的计算机指令,因此,看上去好像是 Uncover 没有报告这些语句的覆盖率。例如,请看以下代码片段:

#define A 100
#define B 200
...
   if (A>B) {
        ...
   }

根据您的预期,Uncover 应该对 if 语句报告非零执行计数,但编译器很可能会删除此代码,使得 Uncover 在校验期间看不到它。因此,不会针对这些指令报告覆盖率数据。