Oracle® Solaris Studio 12.4:使用 dbx 调试程序

退出打印视图

更新时间: 2015 年 1 月
 
 

系统运行的 Oracle Solaris 上的连接进程

在运行 Oracle Solaris 操作系统的系统中,进程启动时必须预装入 rtcaudit.so。如果连接的进程是 64 位进程,请使用相应的 64 位 rtcaudit.so,该文件位于:

64 位 SPARC 平台:/install-dir/lib/dbx/sparcv9/runtime/rtcaudit.so

AMD64 平台:/install-dir/lib/dbx/amd64/runtime/rtcaudit.so

32 位平台:/install-dir/lib/dbx/runtime/rtcaudit.so

要预装入 rtcaudit.so

% setenv LD_AUDIT path-to-rtcaudit/rtcaudit.so

LD_AUDIT 环境变量设置为仅在需要时预装入 rtcaudit.so。不要始终将其保持为装入状态。例如:

% setenv LD_AUDIT...
% start-your-application
% unsetenv LD_AUDIT

连接到进程后,便可以启用运行时检查。

如果要连接的程序从某一其他程序派生或执行,则必须为主程序(派生者)设置 LD_AUDIT 在派生和执行中会继承 LD_AUDIT 的设置。如果 32 位程序派生或执行 64 位程序,或 64 位程序派生或执行 32 位程序,则该解决方案将不起作用。

LC_AUDIT 环境变量既适用于 32 位程序也适用于 64 位程序,这导致很难为运行 64 位程序的 32 位程序或运行 32 位程序的 64 位程序选择正确的库。某些版本的 Oracle Solaris 操作系统支持 LD_AUDIT_32 环境变量和 LD_AUDIT_64 环境变量(它们分别仅影响 32 位程序和 64 位程序)。请参见针对您所运行 Oracle Solaris 版本的《链接程序和库指南》,确定是否支持这些变量。