tcov Enhanced を使用するには、オリジナルの tcov と同様の以下の手順に従ってください。
tcov Enhanced の実験データ用にプログラムをコンパイルします。
実験を実行します。
tcov を使って、結果を解析します。
オリジナルの tcov では、-xa オプションを使ってコンパイルを行いました。 tcov Enhanced によってコードカバレージ用のプログラムをコンパイルするには、すべてのコンパイラに対して、-xprofile=tcov オプションを使用してください。index.assist という名前のプログラムを例として使用する場合、tcov Enhanced を使ったコンパイルは以下のようなコマンドになります。
% cc -xprofile=tcov -o index.assist index.assist.c
tcov Enhanced は、tcov とは異なり、.d ファイルを作成しません。プログラムが実行されるまで、カバレージデータファイルは作成されません。カバレージ解析用にコンパイルされた各モジュールごとに 1 つのファイルではなくて、プログラム実行後に 1 つのカバレージデータファイルが作成されます。
index.assist.c のコンパイルの後、index.assist を実行して、プロファイルデータを生成してください。
% index.assist % ls -dF *.profile index.assist.profile/ % ls *.profile tcovd
デフォルトでは、tcovd ファイルが保存されるディレクトリの名前は、実行可能ファイルの名前から派生して付けられます。また、そのディレクトリは、実行可能ファイルが実行されたディレクトリに作成されます (オリジナルの tcov は、モジュールがコンパイルされたディレクトリに .d ファイルを作成します)。
tcovd ファイルが保存されるディレクトリはまた、「プロファイルバケット」 として知られます。プロファイルバケットは、環境変数 SUN_PROFDATA を使用することで、上書きできます。実行可能なファイル名が argv[0] の値と等しくない場合などに、この操作は有効です (たとえば、違う名前のシンボリックリンクから実行可能ファイルが実行された場合など)。
プロファイルバケットが生成されたディレクトリを上書きすることも可能です。実行ディレクトリとは別のディレクトリを指定するには、環境変数 SUN_PROFDATA_DIR を使ってパスを指定してください。この変数には、相対パス名、絶対パス名のどちらでも指定できます。相対パス名は、プログラムの実行完了時のカレントの作業ディレクトリに対する相対的な位置となります。
TCOVDIR は、SUN_PROFDATA_DIR の下方互換性を維持するために同類の環境変数としてサポートされています。SUN_PROFDATA_DIR が設定されている場合、TCOVDIR が無視されます。TCOVDIR と SUN_PROFDATA_DIR の両者が設定されていると、プロファイルバケットが生成された時点で、警告が表示されます。SUN_PROFDATA_DIR は、TCOVDIR よりも優先されます。これらの変数は、-xprofile=tcov オプションによってコンパイルされたプログラムの実行時に使用され、さらに、tcov コマンドによって使用されます。
このスキーマはプロファイルフィードバックメカニズムによっても使用されます。
いくつかのカバレージデータが作成されたら、生データをソースファイルに関連付けるレポートを生成できます。
% tcov -x index.profile index.assist.c % ls *.tcov index.assist.c.tcov
このレポートの出力は、前の例 (オリジナルの tcov のもの) と同じです。