ナビゲーションリンクをスキップ | |
印刷ビューの終了 | |
Oracle Solaris Studio 12.3: パフォーマンスアナライザ Oracle Solaris Studio 12.3 Information Library (日本語) |
注釈付きソースコードと注釈付き逆アセンブリコードを表示するには、パフォーマンスアナライザと er_print ユーティリティーは、実験が実行されたプログラムで使用されているソースコードおよびロードオブジェクトファイルにアクセスできる必要があります。
ロードオブジェクトファイルは、最初に実験の archives ディレクトリで検索されます。そこに見つからない場合は、後述のとおり、ソースファイルおよびオブジェクトファイルと同じアルゴリズムを使用して検索されます。
ほとんどの実験で、ソースファイルとオブジェクトファイルはフルパス形式で記録されます。Java ソースファイルにも、ファイルへのディレクトリ構造を示すパッケージ名があります。実験を、それが記録された同じシステムで表示する場合、ソースファイルとロードオブジェクトはフルパスを使用して見つけることができます。実験を別のマシンに移動した場合や別のマシンで表示する場合は、それらのフルパスにアクセスできないことがあります。
ソースファイルとオブジェクトファイルを見つけるために、パスマッピングとパス検索という 2 つの補完的な方法が使用されます。ロードオブジェクトファイルが archives サブディレクトリに見つからない場合も、それらを見つけるために同じ方法が使用されます。
パスマップと検索パスを設定すると、ツールが実験で参照されているファイルを見つけやすくなります。アナライザでは、「データ表示オプションの設定」で説明されているように、「データ表示方法の設定」ダイアログボックスを使用して「パスマップ」タブでパスマップを設定し、「検索パス」タブを使用して検索パスを設定します。er_print ユーティリティーの場合は、「ソースファイルの検索を制御するコマンド」で説明されている pathmap および setpath 指令を使用します。
最初にパスマッピングが適用され、ファイルのフルパスの先頭を別のパスで置き換える方法を指定します。たとえば、ファイルが /a/b/c/sourcefile と指定され、pathmap 指令で /a/ から /x/y/ へのマッピングが指定されている場合は、ファイルを /x/y/b/c/sourcefile で見つけることができます。/a/b/c/ から /x/ にマップする pathmap 指令では、ファイルを /x/sourcefile で見つけることができます。
パスマッピングによってファイルが見つからない場合は、検索パスが使用されます。検索パスは、指定のベース名を持つファイルを検索するディレクトリのリストを指定します。上記の例では、ベース名は sourcefile です。setpath コマンドで検索パスを設定し、addpath コマンドで検索パスにディレクトリを追加することができます。Java ファイルの場合は、パッケージ名が試されたあとでベース名が試されます。
検索パス内の各ディレクトリを使用して、試行するフルパスが構築されます。Java ソースファイルの場合は、2 つのフルパスが構築されます。1 つはベース名、もう 1 つはパッケージ名のものです。ツールは各フルパスにパスマッピングを適用し、マップされたパスのいずれもファイルを指していない場合は、次の検索パスディレクトリを試します。
検索パスにファイルが見つからず、どのパスマッピング接頭辞も元のフルパスと一致していなかった場合は、元のフルパスが試されます。いずれかのパスマップ接頭辞が元のフルパスと一致していたが、ファイルが見つからなかった場合、元のフルパスは試されません。
デフォルトの検索パスには現在のディレクトリと実験ディレクトリが含まれるため、ソースファイルにアクセスできるようにする 1 つの方法は、これらの場所のいずれかにソースファイルをコピーするか、ソースファイルの現在の場所を指すシンボリックリンクをこれらの場所に置くことです。