Sun Studio 12:性能分析器

第 9 章 处理实验

本章介绍可以与收集器和性能分析器一起使用的实用程序。

本章包含以下主题:

处理实验

实验存储在收集器创建的目录中。要处理实验,您可以使用常用的 UNIX® 命令 cpmvrm,并将它们应用到该目录。对于早于 Forte Developer 7 (SunTM ONE Studio 7, Enterprise Edition for Solaris) 发行版的实验,则不能这样做。提供了三个功能类似于 UNIX 命令的实用程序,以复制、移动和删除实验。这些实用程序为 er_cp(1)、er_mv(1) 和 er_rm(1),将在下文中介绍这些实用程序。

实验中的数据包括程序使用的每个装入对象的归档文件。这些归档文件包含装入对象的绝对路径及其最后一次修改的日期。移动或复制实验时,该信息不会改变。

使用 er_cp 实用程序复制实验

存在两种格式的 er_cp 命令:


er_cp [-V] experiment1 experiment2
er_cp [-V] experiment-list directory

第一种格式的 er_cp 命令experiment1 复制到 experiment2。如果 experiment2 已存在,则 er_cp 将退出,并显示一条错误消息。第二种格式将空格分隔的实验列表复制到一个目录。如果该目录中已经包含与正被复制的实验之一同名的实验,则 er_cp 实用程序将退出,并显示一条错误消息。-V 选项可列显 er_cp 实用程序的版本。此命令不能复制早于 Forte Developer 7 的软件发行版所创建的实验。

使用 er_mv 实用程序移动实验

存在两种格式的 er_mv 命令:


er_mv [-V] experiment1 experiment2
er_mv [-V] experiment-list directory

第一种格式的 er_mv 命令experiment1 移动到 experiment2。如果 experiment2 已存在,则 er_mv 实用程序将退出,并显示一条错误消息。第二种格式将空格分隔的实验列表移动到一个目录。如果该目录中已经包含与正被移动的实验之一同名的实验,则 er_mv 实用程序将退出,并显示一条错误消息。-V 选项可列显 er_mv 实用程序的版本。此命令不能移动早于 Forte Developer 7 的软件发行版所创建的实验。

使用 er_rm 实用程序删除实验

删除实验列表或实验组。删除实验组后,组中的每个实验以及组文件都被删除。

er_rm 命令的语法如下:


er_rm [-f] [-V] experiment-list

无论是否找到实验,-f 选项都会抑制错误消息并确保成功完成。-V 选项可列显 er_rm 实用程序的版本。此命令可删除早于 Forte Developer 7 的软件发行版所创建的实验。

其他实用程序

在正常情况下,应不必使用其他一些实用程序。在此记录这些程序是为了完整性,并对可能需要使用这些实用程序的情况进行了描述。

er_archive 实用程序

er_archive 命令的语法如下。


er_archive [–nqAF] experiment
er_archive -V

实验正常完成或在实验上启动性能分析器或 er_print 实用程序时,er_archive 实用程序将自动运行。该实用程序会读取实验中引用的共享对象列表,并为每个共享对象构造一个归档文件。每个输出文件都以 .archive 后缀命名,并且包含共享对象的函数和模块映射。

如果目标程序异常终止,收集器可能不会运行 er_archive 实用程序。如果要在与记录实验的计算机不同的其他计算机上检查运行时异常终止的实验,则必须在记录数据的计算机的实验上运行 er_archive 实用程序。要确保在将实验复制到的计算机上可以使用装入对象,请使用 -A 选项。

在实验中为所有引用到的共享对象生成了归档文件。这些归档文件包含装入对象中的每个对象文件和函数的地址、大小和名称,以及装入对象的绝对路径和其最后一次修改的时间戳。

如果运行 er_archive 实用程序时找不到共享对象,或者共享对象的时间戳与实验中记录的不同,或 er_archive 实用程序在与记录实验的计算机不同的其他计算机上运行,则归档文件中将包含一则警告。只要手动运行 er_archive 实用程序(不带 -q 标志),警告也同样会写入 stderr

以下几节介绍 er_archive 实用程序可以接受的选项。

-n

仅归档指定的实验,不包括其后代。

–q

不将任何警告写入 stderr。警告将并入归档文件,并显示在性能分析器或 er_print 实用程序的输出中。

–A

请求将所有装入对象写入实验。该参数可用于生成实验,这些实验很可能被复制到不是记录实验的计算机上。

–F

强制写入或重新写入归档文件。该参数可用于手动运行 er_archive,以重新写入带有警告的文件。

–V

写入 er_archive 实用程序的版本号信息,并退出。

er_export 实用程序

er_export 命令的语法如下。


er_export [–V] experiment

er_export 实用程序将实验中的原始数据转换为 ASCII 文本。文件的格式和内容可以更改,任何使用都不应该依赖这种格式和内容。仅当性能分析器无法读取实验时才使用该实用程序;工具开发者可利用输出内容了解原始数据并分析故障。–V 选项用于列显版本号信息。