Oracle Solaris Studio 12.2:C++ 用户指南

A.2.165 –xpg

编译以便使用 gprof 配置程序进行文件配置。

-xpg 选项可编译自配置代码,以便收集可使用 gprof 配置的数据。该选项调用运行时记录机制,该机制会在程序正常终止时生成 gmon.out 文件。


注 –

如果指定 -xpg-xprofile 将没有用处。两者不能准备或使用对方提供的数据。


在 64 位 Solaris 平台上,使用 prof(1) 或 gprof(1) 生成配置文件,在 32 位 Solaris 平台上,则只使用 gprof 生成配置文件,配置文件中包含大概的用户 CPU 时间。这些时间来自主可执行文件中的例程以及共享库中例程(链接可执行文件时将共享库指定为链接程序参数)的 PC 示例数据(请参见 pcsample(2))。其他共享库(在进程启动后使用 dlopen(3DL) 打开的库)不进行分析。

在 32 位 Solaris 系统中,使用 prof(1) 生成的配置文件仅限于可执行文件中的例程。32 位共享库通过用 -xpggprof(1) 链接可执行程序可以进行文件配置。

在 x86 系统中,-xpg-xregs=frameptr 不兼容,这两个选项不应一起使用。还请注意,-fast 中包括 -xregs=frameptr

Solaris 10 软件不包括使用 -p 编译的系统库。因此,在 Solaris 10 平台上收集的配置文件不包含系统库例程的调用计数。

A.2.165.1 警告

如果分别进行编译和链接,且使用 –xpg 进行编译,应确保使用 –xpg 进行链接。有关在编译时和链接时都必须指定的选项的完整列表,请参见3.3.3 编译时选项和链接时选项

另请参见

–xprofile=panalyzer(1) 手册页和性能分析器手册。