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

必要な場合のみ、rtcaudit.so をプリロードするための LD_AUDIT 環境変数を設定します。これを常にロードされたままにしないでください。例:

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

プロセスに接続したら、RTC を有効にすることができます。

接続する先のプログラムがほかの何らかのプログラムからフォークまたは実行されている場合は、フォークするメインプログラムに LD_AUDIT を設定する必要があります。 LD_AUDIT の設定値は、フォーク先および実行主体を問わず継承されます。32 ビットプログラムが 64 ビットプログラムをフォークまたは実行する場合、あるいは 64 ビットプログラムが 32 ビットプログラムをフォークまたは実行する場合には、この方法は機能しないことがあります。

環境変数 LD_AUDIT は 32 ビットプログラムと 64 ビットプログラムの両方に適用されるため、64 ビットプログラムを実行する 32 ビットプログラム用、または 32 ビットプログラムを実行する 64 ビットプログラム用に正しいライブラリを選択することが困難です。Oracle Solaris OS の一部のバージョンは、LD_AUDIT_32 環境変数と LD_AUDIT_64 環境変数をサポートしています。これらは、それぞれ 32 ビットプログラムと 64 ビットプログラムにのみ影響を与えます。これらの変数がサポートされているかどうかを確認するには、実行している Oracle Solaris のバージョンの『リンカーとライブラリガイド』を参照してください。