動作中のターゲット・アプリケーションを解析するためインテル® Advisor ツールを実行した後に、ターゲットのデバッグ (シンボル) 情報に関する予期しないまたは意味不明な多くの情報が表示されることがあります。
デバッグ情報が利用できない場合、ソースコードを表示するバイナリーとソースの対応機能が無効になります。例えば、プロジェクトでライブラリー・ソースが利用できないサードパーティーのライブラリー・ルーチンを呼び出す場合、次のいずれかが発生する可能性があります。
サーベイツールを実行した後に、[サーベイレポート] ウィンドウの上部付近に「 デバッグ情報を持たないターゲットモジュールがあります」というメッセージが表示されることがあります。メッセージとデバッグ情報が不足しているモジュール名を確認したら、右上角にある
をクリックしてウィンドウを閉じます。
[Report (レポート)] ウィンドウを表示した時に、[Source (ソース)] の場所や [function name (関数名)] を示すカラムにターゲットの [実行形式名]、[不明]、? マーク、または空白が表示されることがあります。また、ソースが利用できないと、
、
、
、または
(サーベイループ向け) などの破損アイコンや不明アイコンが表示されます。
[Source (ソース)] ウィンドウを表示したときに、ソースコードまたはソースの場所が表示されるべきカラムに、データの代わりに「source is not available (ソースが利用できません)」または「Intel Advisor cannot show source code for this location (インテル® Advisor はこの場所のソースを表示できません)」というメッセージが示されることがあります。また、上記のようなソースが利用できないことを示す、破損アイコンや不明アイコンが表示されます。
[Source (ソース)] ウィンドウを表示したときに、[Call Stack (コールスタック)] に上記のような破損アイコンなどで、開始 (上位) 行のソースが利用できないことが示されることがあります。
コンテキスト・メニューの [Call Stack (ソースを表示)] または [Edit Source (ソースを編集)] 項目がグレーで表示されることがあります。
アプリケーションがライブラリー関数を呼び出す場合、ソースが利用できない症状が見られるはずです。例えば、C/C++ のサンプル・アプリケーション stats は、標準偏差や類似値を計算するためライブラリー関数を呼び出します。ライブラリー関数のソースコードが利用できないため、呼び出されたライブラリー関数でソースコードは見つかりませんが、関連するプロジェクトのソースファイルは利用でます。この場合は、「ソースが利用できない際のトラブル」を参照してください。
次に最も一般的な原因を示します。
ターゲットの実行形式をビルドする際に、ビルドオプションでデバッグ情報の生成が指定されていません。インテル® Advisor ツールがソース情報を表示するには、デバッグ情報が必要です。ネイティブコードのターゲットをビルドする場合、ターゲットにデバッグ情報が含まれるように、適切なコンパイラーとリンカーオプションを指定します。
インテル® Advisor GUI の [project properties (プロジェクトのプロパティー)] で、適切なバイナリー/シンボル、またはソースの場所が指定されていません。
次の操作を行います。
ターゲットのビルド設定で、デバッグ情報オプションが指定されていることを確認します。
makefile、Microsoft* Visual Studio* プロジェクト・プロパティー、またはビルドスクリプトでデバッグ情報オプションを指定します。
ターゲットをリビルドします。
インテル® Advisor 解析ツールを再実行します。
インテル® Advisor GUI を使用する場合、[Project Properties (プロジェクターのプロパティー)] ダイアログを確認します。
バイナリーとシンボルファイルは、[Binary/Symbol Search (バイナリー/シンボル検索)] タブで指定します。
ソースコードの場所は、[Source Search (ソース検索)] タブで指定します。
コンパイラーがソース行やソースファイルなどのデバッグ情報を生成しない、リンカーがデバッグ情報データベースにデバッグ情報を含んでいない、またはインテル® Advisor 解析ツールのファイナライズでデバッグ情報データベースが検出できないなど、その他の原因を調査します。例えば、最後の問題は、デバッグ情報データベースがターゲットの実行形式と同じ場所に移動されていない場合に発生します。
C/C++ と Fortran の最適なビルド設定に関する最新情報は、ターゲット・アプリケーションをビルド をご覧ください。