Oracle Solaris Studio 12.2: スレッドアナライザユーザーズガイド

バイナリレベルの計測

バイナリレベルで計測するには、discover ツールを使用する必要があります。バイナリが a.out という名前の場合、次のように実行することによって、計測済みのバイナリ a.outi を作成できます。


discover -i datarace -o a.outi a.out

discover ツールでは、開かれている共有ライブラリを、それがプログラム内で静的にリンクされているか、dlopen() によって動的に開かれているかにかかわらず、すべて自動的に計測します。デフォルトで、ライブラリの計測済みコピーは、ディレクトリ $HOME/SUNW_Bit_Cache に書き込まれます。

有効な discover コマンド行オプションの一部を次に示します。詳細は、discover(1) のマニュアルページを参照してください。

-o file

計測済みバイナリを、指定したファイル名で出力する

-N lib

指定したライブラリを計測しない

-T

どのライブラリも計測しない

-D dir

キャッシュディレクトリを dir に変更する

データの競合を検出するためにプログラムのバイナリコードを計測する場合、discover ツールでは、入力バイナリを次の条件を満たしてコンパイルする必要があります。

また、バイナリがコンパイラオプション -xbinopt=prepare を付けてコンパイルされた場合は、SPARC ベースのシステムで実行中の、以前の Solaris バージョンでも discover ツールを使用できることがあります。このコンパイラオプションについては、cc(1)、CC(1)、または f95(1) のマニュアルページを参照してください。