ナビゲーションリンクをスキップ | |
印刷ビューの終了 | |
![]() |
Oracle Solaris Studio 12.3: dbx コマンドによるデバッグ Oracle Solaris Studio 12.3 Information Library (日本語) |
より高い効果を得るにはより多くのシンボルおよびデバッグ情報が必要になる
x86 プラットフォームでは SIGSEGV シグナルと SIGALTSTACK シグナルが制限される
より高い効果を得るには、十分なパッチ領域を設け、すべての既存コードを含めて 8M バイト以内にする (SPARC プラットフォームのみ)
実行時検査は、影響を受けるメモリーがすでに割り当てられている場合に RUI が検出できなかった例外を伴う接続済みプロセスで機能します。
Solaris オペレーティングシステムを実行しているシステムでは、プロセスは開始時に rtcaudit.so を事前に読み込んでおく必要があります。接続先のプロセスが 64 ビットプロセスである場合、次の場所にある 64 ビットの rtcaudit.so を使用します。
64 ビット SPARC プラットフォームの /installation_directory/lib/dbx/sparcv9/runtime/rtcaudit.so
AMD64 プラットフォームの /installation_directory/lib/dbx/amd64/runtime/rtcaudit.so
32 ビットプラットフォームの /installation_directory/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 ビットプログラム用に正しいライブラリを選択することが困難です。Solaris OS のバージョンによっては、環境変数 LD_AUDIT_32 をサポートしているものと環境変数 LD_AUDIT_64 をサポートしているものがあり、それぞれ 32 ビットプログラムと 64 ビットプログラムのみを対象としています。実行している Solaris のバージョンで、これらの変数がサポートされているかどうか確認するには、『リンカーとライブラリ』を参照してください。
Linux オペレーティングシステムを実行しているシステムでは、プロセスは開始時に librtc.so を事前に読み込んでおく必要があります。接続先のプロセスが AMD64 プロセッサで実行中の 64 ビットプロセスである場合、次の場所にある適切な 64 ビットの librtc.so を使用します。
64 ビット AMD64 プラットフォームの /installation_directory/lib/dbx/amd64/runtime/librtc.so
32 ビットプラットフォームの /installation_directory/lib/dbx/runtime/librtc.so
librtc.so を事前に読み込むには、次のようにします。
% setenv LD_PRELOAD path-to-rtcaudit/librtc.so
librtc.so を常時読み込んだ状態にせず、必要なときにだけ読み込まれるように環境変数 LD_PRELOAD を設定してください。例:
% setenv LD_PRELOAD... % start-your-application % unsetenv LD_PRELOAD
プロセスに接続したら、RTC を有効にすることができます。
接続したいプログラムがフォークされるか、または別のプログラムによって実行された場合は、LD_PRELOAD をフォークを行うメインプログラムに設定する必要があります。LD_PRELOAD の設定値は、フォーク先および実行主体を問わず継承されます。32 ビットプログラムが 64 ビットプログラムをフォークまたは実行する場合、あるいは 64 ビットプログラムが 32 ビットプログラムをフォークまたは実行する場合には、この方法は機能しないことがあります。
環境変数 LC_PRELOAD は 32 ビットプログラムと 64 ビットプログラムの両方に適用されるため、64 ビットプログラムを実行する 32 ビットプログラム用、または 32 ビットプログラムを実行する 64 ビットプログラム用に正しいライブラリを選択することが困難です。Linux のバージョンによっては、環境変数 LD_PRELOAD_32 をサポートしているものと環境変数 LD_PRELOAD_64 をサポートしているものがあり、それぞれ 32 ビットプログラムと 64 ビットプログラムのみを対象としています。実行している Linux のバージョンで、これらの変数がサポートされているかどうか確認するには、『リンカーとライブラリ』を参照してください。