Oracle® Developer Studio 12.5:Discover 和 Uncover 用户指南

退出打印视图

更新时间: 2016 年 6 月
 
 

使用 uncover 的要求

uncover 实用程序适用于至少使用 Sun Studio 12 Update 1、Oracle Solaris Studio 12.2-12.4 或 Oracle Developer Studio 12.5 编译器编译的二进制文件。它可以在基于 SPARC 或 x86 的系统上运行,但要求其操作系统至少为 Solaris 10 10/08、Oracle Solaris 11、Oracle Enterprise Linux 5.x 或 Oracle Enterprise Linux 6.x。

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

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

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