プログラムのパフォーマンス解析

TCOVDIRSUN_PROFDATA_DIR

旧バージョンの tcov (-xa または -a フラグによるコンパイルによって使用可能となります) は、TCOVDIR という環境変数を使用していました。TCOVDIR は、ソースファイルと同じディレクトリではなく、tcov カウンタファイルが収められるディレクトリを指定しました。この環境変数との互換性を維持するため、新しい環境変数 SUN_PROFDATA_DIRTCOVDIR 環境変数と同様に動作します。両方の変数が設定されている場合、警告が出力され、SUN_PROFDATA_DIR が、TCOVDIR よりも優先されます。

-xprofile=tcov

デフォルトでは、プロファイルバケットは、カレントディレクトリにある <argv[0]>.profile と呼ばれます。

SUN_PROFDATA を設定している場合、プロファイルバケットは、どこに保存されていようと、$SUN_PROFDATA と呼ばれます。

SUN_PROFDATA_DIR を設定している場合、プロファイルバケットは、指定されたディレクトリに保存されます。

SUN_PROFDATASUN_PROFDATA_DIR はそれぞれ独立しています。いずれの環境変数も設定されていると、プロファイルバケット名は、SUN_PROFDATA_DIR を使ってプロファイルバケットを見つけ出すことによって生成され、SUN_PROFDATA はそのディレクトリのプロファイルバケットの命名に使用されます。

UNIX のプロセスでは、プログラム実行中、カレントの作業ディレクトリが変更されることがあります。そのため、プロファイルバケットの生成に使用されるカレントの作業ディレクトリは、プログラムの実行終了時におけるカレントの作業ディレクトリとなります。まれですがプログラムの実行中にそのカレント作業ディレクトリを変更するような場合には、環境変数を利用して、プロファイルバケットが生成される場所をコントロールしてください。

tcov プログラムについて

-xprofile=bucket オプションは、tcov プロファイル用に使用されるプロファイルバケットの名前を指定します。SUN_PROFDATA_DIR または TCOVDIR が設定されている場合、いずれか一方がこの引数に付加されます。