跳过导航链接 | |
退出打印视图 | |
![]() |
Oracle Solaris Studio 12.3:Discover 和 Uncover 用户指南 Oracle Solaris Studio 12.3 Information Library (简体中文) |
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 时的限制。