编程接口指南

使用 appcert

要使用 appcert 检查应用程序,请键入以下内容:


appcert object|directory

object|directory 替换为以下任一项:


注 –

运行 appcert 的环境可能不同于运行应用程序的环境。如果这两个环境不同,则 appcert 可能无法正确解析对 Solaris 库接口的引用。


appcert 实用程序使用 Solaris 运行时链接程序为每个可执行文件或共享目标文件构造一个接口依赖项的配置文件。此配置文件用于确定应用程序依赖的 Solaris 系统接口。此配置文件中概述的依赖项将与 Solaris ABI 进行比较,以验证是否与其兼容。不存在任何专用接口。

appcert 实用程序以递归方式搜索目录中的目标文件,从而忽略非 ELF 目标文件。appcert 检查完应用程序之后,会在标准输出(通常是屏幕)中列显汇总报告。此报告的副本将写入工作目录(通常是 /tmp/appcert.pid)中名为 Report 的文件中。在子目录名称中,pid 表示此特定 appcert 实例的 1 至 6 位数字的进程 ID。有关 appcert 写入输出文件的目录结构的更多信息,请参见appcert 结果

appcert 选项

以下选项用于修改 appcert 实用程序的行为。可以在命令行中 appcert 命令之后,object|directory 操作数之前键入其中任一选项。

-B

以批处理模式运行 appcert。

在批处理模式下,appcert 生成的报告中包含的每一行都针对一个所检查的二进制对象。

以 PASS 开头的行表示该行中列出的二进制对象未触发任何 appcert 警告。

以 FAIL 开头的行表示在该库中发现问题。

以 INC 开头的行表示无法完全检查该行中指定的二进制对象。

-f infile

文件 infile 应包含要检查的文件列表,每行包含一个文件名。这些文件将添加到命令行中已经指定的任何文件中。如果使用此转换参数,则无需在命令行中指定对象或目录。

-h

列显 appcert 的使用情况信息。

-L

缺省情况下,appcert 会对应用程序中的所有共享对象进行注释,并将共享对象所驻留的目录附加到 LD_LIBRARY_PATH。使用 -L 转换参数可以禁用这一行为。

-n

缺省情况下,appcert 在搜索目录以查找要检查的二进制代码时会打开符号链接。使用 -n 转换参数可以禁用这一行为。

-S

将 Solaris 库目录 /usr/openwin/lib/usr/dt/lib 附加到 LD_LIBRARY_PATH

-w working_dir

指定要运行库组件的目录。另外,还将在此转换参数指定的目录中创建临时文件。如果未指定此转换参数,则 appcert 使用 /tmp 目录。