インテル® VTune™ プロファイラーは、正確なパフォーマンス・データを収集して、ソース解析を行うため、バイナリーファイルのデバッグ情報を必要とします。
システムとアプリケーション・モジュールのデバッグ情報が利用可能な場合、インテル® VTune™ プロファイラーは、コールスタック、ソースデータ、関数名などの完全な統計情報を提供することができます。例えば、[フィルター] ツールバーの [コールスタック・モード] で [ユーザー/システム関数] オプションを選択して、ユーザーとシステム関数の両方のデータを表示できます。
インテル® VTune™ プロファイラーがバイナリーのデバッグ情報を見つけられなかった場合、関数境界とホットスポットのアドレスを疑似関数名 func@address にホットスポットのアドレスを割り当てます。次に例を示します。
例えば、モジュールが見つからないか関数名を解決できない場合、インテル® VTune™ プロファイラーは、[module] と表示します。
デバッグ情報がない場合、インテル® VTune™ プロファイラーはコールスタックをアンワインドしないため、[コールスタック] ペインを正しく表示できない可能性があります。また一部のケースでは、デバッグ情報を持たないモジュールのファイナライズには時間がかかることがあります。
コードのコンパイルに -g オプションを使用すると、通常デバッグ情報は DWARF 形式で生成されます。
コンパイラーのデフォルトのデバッグ情報形式が DWARF でない場合、-gdwarf-version オプション (例えば、-gdwarf-2 または -gdwarf-3) を使用します。
個別のデバッグ情報を作成し、デバッグリンクあるいはビルド ID を介して実行可能ファイル/ライブラリーとリンクすることができます。詳細は、GNU* Binutils のドキュメントを参照してください。
インテル® VTune™ プロファイラーは両方のリンクタイプを識別します。
ELF 形式の実行ファイルがビルド ID を含み、それによって生成された名前を持つ別のデバッグ情報ファイルが存在する場合、インテル® VTune™ プロファイラーは適切な検索ディレクトリーが設定されていれば、シンボルファイルを検索して評価することができます。シンボルファイルを検索する際に、インテル® VTune™ プロファイラーはそれぞれの検索ディレクトリーの .build-id サブディレクトリーで hh/hhhhhhhhhhh.debug という名前のファイルをチェックします。ここで、hh は、ビルド ID の最初の 2 桁の 16 進数で、hhhhhhhhhhh は残りの部分です。
実行可能ファイルに別のデバッグ情報の名前を持つデバッグリンク (.gnu_debuglink セクションで指定) が含まれる場合、インテル® VTune™ プロファイラーはそれを検索します。
GPU で実行される SYCL* アプリケーションのパフォーマンス・プロファイルを有効にしてデバッグ情報を生成するには、-gline-tables-only と -fdebug-info-for-profiling オプションを指定する必要があります。
インテル® oneAPI DPC++/C++ コンパイラー (英語)、またはインテル® Fortran コンパイラーを使用して OpenMP* オフロード・アプリケーションをビルドする場合、--info-for-profiling オプションを使用してコードをコンパイルします。