er_archive コマンドの構文は次のとおりです。
er_archive [ -nqF ] [-s option [-m regexp ] ] experiment er_archive -V
er_archive は、実験が正常に完了したときに (アーカイブが無効になった状態で実行されていないかぎり) 自動的に実行されます。実験で参照された共有オブジェクトのリストを読み取り、実験で参照されたすべての共有オブジェクトを初期の実験内のディレクトリ archives にコピーします。これらのコピーは、初期の実験とそのサブ実験に同じ名前を持つ異なるバージョンのオブジェクトを含めることができるように、符号化された名前とともに格納されます。Java 実験の場合は、参照されたすべての .jar ファイルも実験にコピーされます (er_archive は、.archive ファイルを生成しなくなりました)。ターゲットプログラムが異常終了した場合は、er_archive が実行されない可能性があります。その場合は、手動で実行するようにしてください。
ユーザーが実験を、その実験が記録されたマシンとは異なるマシン上で検査する場合は、すべての共有オブジェクトの正しいバージョンを取得するために、er_archive を実験の完了時に実行するか、またはデータが記録されたマシン上の実験に対して手動で実行する必要があります。
共有オブジェクトが見つからない場合、そのタイムスタンプが実験で記録されているタイムスタンプとは異なる場合、または er_archive が実験が記録されたマシンとは異なるマシン上で実行されている場合、それらのオブジェクトはコピーされません。er_archive が手動で (-q フラグなしで) 実行された場合は、警告が stderr に書き込まれます。このような共有オブジェクトを参照している実験が er_print またはアナライザによって読み取られた場合も、警告が生成されます。
er_archive ではまた、手動で実行するときに -s 引数を指定することによって、ソース (必要なすべてのオブジェクトファイルと必要なシンボルテーブルを含む) をアーカイブすることもできます。ソースのアーカイブは、環境変数 SP_ARCHIVE_ARGS を設定することによって、実験が完了したときに自動的に実行されるように指定できます。その環境変数には、-s 引数と -m 引数を引数のペアで、かつ 1 つ以上のスペースで区切られたオプションとして含めることができます。コマンド行で -s 引数が複数指定されている場合は、最後の引数が優先されます。-s がコマンド行で渡されると同時に、環境変数によっても設定されている場合は、環境変数のオプションが優先されます。
次に、er_archive ユーティリティーに使用可能なオプションについて説明します。
名前付きの実験のみをアーカイブし、子孫はアーカイブしません。
stderr に警告を出力しません。警告はアーカイブファイルに組み込まれ、パフォーマンスアナライザ、または er_print ユーティリティーからの出力に表示されます。
アーカイブファイルを強制的に書き込み、または再書き込みします。この引数を使用すると、er_archive を手動で実行し、警告を含むファイルを再書き込みできます。
ソースファイルのアーカイブを指定します。option に使用できる値は次のとおりです。
どのソースファイルもアーカイブしません。
見つかったすべてのソース、オブジェクト、および .anc ファイルをアーカイブします。
実験で記録されたデータの対象となる関数に関連しており、かつ見つかったソース、オブジェクト、および .anc ファイルをアーカイブします。
コマンド行または環境変数で -s 引数が複数指定されている場合は、指定されたすべてのオプションが同じである必要があります。そうでない場合、er_archive はエラーで終了します。
-s フラグで指定されており、かつ実行可能ファイルまたは共有オブジェクト内に記録されているそのフルパス名が指定されている regex に一致するソース、オブジェクト、および .anc ファイルのみをアーカイブします。regex の詳細は、regex(5) のマニュアルページを参照してください。
コマンド行または環境変数で複数の -m 引数を指定できます。ソースファイルがいずれかの式に一致している場合は、そのファイルがアーカイブされます。
er_archive ユーティリティーのバージョン番号の情報を書き込み、終了します。