検索ディレクトリーはサポートファイルを特定し、ソースコードに関連する解析情報を表示する際に使用されます。
状況によっては、インテル® VTune™ プロファイラーは解析情報の表示に必要なユーザーファイルを検出できず、追加の検索場所を設定したり標準の検索場所を上書きする必要があります。これは、プロジェクトのディレクトリー構造に関する情報が利用できない Visual Studio* で作成された .exe プロジェクト (Windows*)、バイナリー/ソースを定義するサードパーティー・ライブラリーを持つ C++ プロジェクト、またはリモートで収集されたデータを含むインポートしたプロジェクトに必要です。リモートデータ収集を実行すると、インテル® VTune™ プロファイラーはデフォルトでターゲットシステムからホストにバイナリーファイルをコピーします。シンボルファイルとソースファイルをホストにコピーするか、これらのファイルを含むディレクトリーをマウントする必要があります。
インテル® VTune™ プロファイラーは、収集したデータをファイナライズする際に、特定の順番でディレクトリーを検索します。インテル® VTune™ プロファイラーが Visual Studio* IDE に統合されている場合、検索ディレクトリーは Visual Studio* C++ プロジェクトのプロパティーから引き継がれます。
モジュールを解決するため、インテル® VTune™ プロファイラーは以下のファイルを検出する必要があります。
バイナリー (実行可能形式と動的ライブラリー)
シンボル
ソースファイル
アプリケーションをビルドしてパフォーマンス・データを収集した後、移動されていない C/C++ プロジェクトのファイルを自動的に検索します。
検索ディレクトリーを設定するには:
ツールバーの [解析の設定] ボタンをクリックします。
[解析の設定] ウィンドウが表示されます。
下部にある [バイナリー/シンボル検索] または [ソース検索] ボタンをクリックして、対応するダイアログボックスを開き、ホスト上のファイル解決に必要なシンボル、バイナリー、およびソースファイルのパスを指定します。
検索ディレクトリー・テーブルに新しい検索ディレクトリーを追加するには、<新たな検索場所を追加> 行をクリックしてアクティブなテキストボックスにディレクトリーのパスと名前を入力するか、右側の [参照] ボタンをクリックしてリストからディレクトリーを選択します。例えば、プロジェクトが最初は Linux* 上の /work/projects/my_project にあり、その後 /home/user/my_project_copy に移動された場合は、/home/user/my_project_copy をバイナリー/シンボルおよびソースファイルの検索ディレクトリーとして指定する必要があります。
検索は再帰的ではありません。必要なディレクトリーがすべて指定されていることを確認します。
検索ディレクトリーが適切に設定されておらず、モジュールが解決されないと、次のように表示されます。
[サマリー] ウィンドウで、「ユーザーモジュールのシンボル情報がないため、データは完全でありません...」で始まるポップアップ・メッセージが表示されます。このメッセージには、検索ディレクトリーを指定して解析結果を再解決するショートカット・オプションが表示されます。
[ボトムアップ] または [トップダウン・ツリー] ペインで、モジュール名には関数名などではなく[不明]行のみが示されます。
行をダブルクリックして関連するソースコードを表示すると、ソースファイルを検出できないというウィンドウが表示され、ソースファイルの場所を確認します。
インテル® VTune™ プロファイラーがシステムモジュールのシンボルファイルを検出できない場合、[ボトムアップ]/[トップダウン・ツリー] ペインと [コールスタック] ペインに不完全なスタック情報が表示されることがあります。この場合、フィルターツールバーの [コールスタック・モード] オプションを使用して、システムレイヤーをユーザーコードに関連付ける際に、[不明なフレーム] ホットスポットが表示されることがあります。Windows* ターゲットでこれを回避するには、Microsoft* シンボルサーバーを設定するか、_NT_SYMBOL_PATH 環境変数を定義する必要があります。Linux* ターゲットでは、Linux* カーネルの解析を有効にします。