ここでは、注釈付きソースおよび逆アセンブリコードの表示を制御するコマンドを説明します。
現在のソートメトリックで整列されたプログラムカウンタ (PC) と、そのメトリックのリストを出力します。このリストには、object_select コマンドで関数を非表示にした各ロードオブジェクトのメトリックを集計した行が含まれています。
PC リスト内の各 PC の概要メトリックパネルを現在のソートメトリックで指定された順序で出力します。
現在のソートメトリックで整列されたソース行と、そのメトリックのリストを出力します。このリストには、行番号情報を持っていない各関数またはソースファイルが未知である各関数のメトリックを集計した行と、object_select コマンドで関数を非表示している各ロードオブジェクトのメトリックを集計した行が含まれています。
行リスト内の各行の概要メトリックパネルを現在のソートメトリックで指定された順序で出力します。
指定したファイル、または指定した関数を含むファイルの注釈付きソースコードを出力します。いずれの場合も、指定したファイルはパスの通っているディレクトリに存在する必要があります。 GNU Fortran コンパイラを使用してソースをコンパイルした場合、ソース内の関数名のあとに下線を 2 つ追加する必要があります。
省略可能なパラメータ N (正の整数) は、ファイル名または関数名があいまいでない場合にだけ使用します。 このパラメータを指定した場合は、N 番目の候補が使用されます。番号指定 (N) のないあいまいな名前が指定された場合、er_print ユーティリティーはオブジェクトファイル名の候補を表示します。 指定された名前が関数の場合は、その関数名がオブジェクトファイル名に付けられ、そのオブジェクトファイルの N の値を表す番号も表示されます。
関数名は function”file” としても指定できます。この場合、file は、関数の代替ソースコンテキストを指定するために使用されます。最初の命令の直後に、関数用のインデックス行が追加されます。インデックス行は、山括弧内のテキストとして次の形式で表示されます。
<関数: f_name>
関数のデフォルトソースコンテキストは、その関数の最初の命令が帰するソースファイルとして定義されます。これは通常、関数を含むオブジェクトモジュールを生成するためにコンパイルされたソースファイルです。代替ソースコンテキストは、関数に属する命令を含むほかのファイルから構成されます。このようなコンテキストには、インクルードファイルの命令と、指定の関数にインライン化された関数の命令が含まれます。代替のソースコンテキストが存在する場合、デフォルトのソースコンテキストの冒頭に、代替ソースコンテキストが置かれている場所を示す拡張インデックス行のリストを次の形式で組み込みます。
<関数: f, ソースファイル src.h から得られた命令>
コマンド行から er_print ユーティリティーを起動するときに -source 引数を使用する場合は、file の引用符の前にバックスラッシュのエスケープ文字を付加する必要があります。つまり、関数名の形式は、function\”file\” となります。er_print ユーティリティーが対話モードにあるときは、バックスラッシュは不要です。使用しないでください。
通常、デフォルトのソースコンテキストが使用された場合は、そのファイルに入っているすべての関数についてメトリックが表示されます。ファイルを明示的に指定した場合は、指定した関数についてのみ、メトリックが表示されます。
指定したファイル、または指定した関数を含むファイルの注釈付き逆アセンブリコードを出力します。指定したファイルは、パスの通っているディレクトリに存在する必要があります。
省略可能なパラメータ N の意味は、source コマンドと同じです。
注釈付きソースのリストに含めるコンパイラのコメントクラスを指定します。クラスリストはコロンで区切ったクラスのリストであり、次のメッセージクラスがゼロ個以上含まれています。
表 6–4 コンパイルコメントメッセージクラス
クラス |
意味 |
---|---|
b[asic] |
基本的なレベルのメッセージを表示します。 |
v[ersion] |
ソースファイル名、最終修正日付、コンパイラコンポーネントのバージョン、コンパイル日付とオプションなどのバージョンメッセージを表示します。 |
pa[rallel] |
並列化に関するメッセージを表示します。 |
q[uery] |
最適化に影響するコードに関する問い合わせメッセージを表示します。 |
l[oop] |
ループの最適化と変換に関するメッセージを表示します。 |
pi[pe] |
ループのパイプライン化に関するメッセージを表示します。 |
i[nline] |
関数のインライン化に関するメッセージを表示します。 |
m[emops] |
ロード、ストア、プリフェッチなどのメモリー操作に関するメッセージを表示します。 |
f[e] |
フロントエンドメッセージを表示します。 |
all |
すべてのメッセージを表示します。 |
none |
メッセージを表示しません。 |
all および none クラスは常に単独で指定します。
scc コマンドを省略した場合は、basic がデフォルトのクラスになります。class-list が空の scc コマンドを入力した場合、コンパイラのコメントは出力されません。通常、scc コマンドは、.er.rc ファイルでのみ使用します。
注釈付きソースコードでのメトリックの強調表示に使用するしきい値の百分率を指定します。ファイル内のソース行で、メトリック値が、そのメトリックの最大値の value % 以上である場合、そのメトリックが発生する行の先頭に ## が挿入されます。
注釈付き逆アセンブリリストに含めるコンパイラのコメントクラスを指定します。クラスリストは、コロンで区切られたクラスのリストです。利用可能なクラスのリストは、表 6–4 に示す注釈付きソースコードリストのクラスリストと同じです。クラスリストには、次のオプションを追加できます。
表 6–5 dcc コマンドの追加オプション
オプション |
意味 |
---|---|
h[ex] |
命令の 16 進値を示します。 |
noh[ex] |
命令の 16 進値を示しません。 |
s[rc] |
ソースリストと注釈付き逆アセンブリリストをインタリーブします。 |
nos[rc] |
ソースリストと注釈付き逆アセンブリリストをインタリーブしません。 |
as[rc] |
注釈付きソースコードと注釈付き逆アセンブリリストをインタリーブします。 |
注釈付き逆アセンブリコードでのメトリックの強調表示に使用するしきい値の百分率を指定します。ファイル内の命令行で、メトリック値が、そのメトリックの最大値の value % 以上である場合、そのメトリックが発生する行の先頭に ## が挿入されます。
注釈付きのソースと逆アセンブリリストに含めるコンパイラのコメントクラスを指定します。クラスリストは、コロンで区切られたクラスのリストです。利用可能なクラスのリストは、表 6–4 に示す注釈付きソースコードリストのクラスリストと同じです。
ソース、オブジェクトなどのファイルを検索するためのパスを設定します。path_list は、ディレクトリのコロン区切りのリストです。ディレクトリ名にコロン文字がある場合は、バックスラッシュでコロンをエスケープします。特別なディレクトリ名 $expts は、現在の実験を読み込まれた順序で示します。これは、$ の 1 文字に短縮できます。
デフォルトの設定は、$expts:.. です。現在のパス設定の検索時にファイルが見つからなかった場合は、コンパイルされているフルパス名が使用されます。
引数のない setpath は、現在のパスを出力します。
現在の setpath の設定に path_list を付加します。
addpath または setpath で設定された path_list を使用してファイルが見つからなかった場合、pathmap コマンドを使用して、1 つまたは複数のパスの再マッピングを指定できます。old-prefix で指定した接頭辞ではじまるソースファイル、オブジェクトファイル、または共有オブジェクトのパス名で、この古い接頭辞が、new-prefix で指定した接頭辞に置き換えられます。新しいパスを使用してファイルが検索されます。pathmap コマンドは複数指定できます。その場合、ファイルが見つかるまで各コマンドが試行されます。