インテル® VTune™ Amplifier 2018 ヘルプ
通常は、DWEARF 形式でデバッグ情報を生成するように、-g オプションを使用してコードをコンパイルします。DWARF がコンパイラーのデフォルトデバッグ情報形式でなければ、-gdwarf-バージョン オプションを使用します。例えば、-gdwarf-2 または -gdwarf-3 のように指定します。
MinGW/Cygwin GCC* コンパイラーでデバッグ情報を生成するには:
DWARF がデフォルトデバッグ情報形式でなければ、-g オプションまたは、-gdwarf-バージョン (例: -gdwarf-2、-gdwarf-3) を使用します。
インテル® VTune™ Amplifier は、ELF 実行形式とライブラリー・バイナリー向けに 2 つの方法で異なるデバッグ形式を指定する方法をサポートします。
ELF 形式の実行ファイルがビルド ID を含み、ビルド ID で生成された個別のデバッグ情報ファイル名を持つ場合、インテル® VTune™ Amplifier は適切な検索ディレクトリーが設定されていれば、それぞれのシンボルファイルを検出して評価することができます。シンボルファイルを検索する際に、インテル® VTune™ Amplifier はそれぞれの検索ディレクトリーの .build-id サブディレクトリーをファイル名 hh/hhhhhhhhhhh.debug でチェックします。ここで、hh はビルド ID の最初の 2 文字の 16 進数であり、hhhhhhhhhhh は残りの部分です。
実行形式ファイルが異なるデバッグ情報ファイルの名前とデバッグリンクを含んでいる場合 (.gnu_debuglink セクションで指定される)、インテル® VTune™ Amplifier はそれらの検出を試みます。
個別のデバッグ情報ファイルを作成して、それらをデバッグリンクやビルド ID によって実行形式/ライブラリーにリンクする方法の詳細については、 Binutils のドキュメントを参照してください。
システムとアプリケーション・モジュールがデバッグ情報を持っている場合、インテル® VTune™ Amplifier は、コールスタック、ソースデータなどの実際の統計情報を提供することが可能になります。例えば、[User/system functions (ユーザー/システム関数)] オプションを選択するため、[Call Stack Mode (コールスタック・モード)] を使用して、ユーザーとシステム関数の両方のデータを表示することもできます。
インテル® VTune™ Amplifier がバイナリーのデバッグ情報を見つけられなかった場合、関数境界とホットスポットのアドレスを疑似関数名 func@address として静的に割り当てを行います。以下に例を示します。
モジュールが見つからないか関数名を解決できない場合、インテル® VTune™ Amplifier は、[vmlinux] のように角括弧でモジュール識別子を表示します。
デバッグ情報がない場合、インテル® VTune™ Amplifier はコールスタックをアンワインドしないため、[Call Stack (コールスタック)] ペインに正しく表示できないかもしれません。また、デバッグ情報を持たないモジュールのファイナライズにはかなり時間がかかることがあります。