1

Windows 7 で Vtune を使用して QtCreator からアプリケーションをプロファイリングしたい。しかし、Vtune は基本的に Visual Studio アプリ用に作成されているため、関数の名前とリリース ビルドの命令の間にリンクを作成する必要があります。実際、ホットスポットには疑似名 func@address しかなく、使用できません。

Intel Vtune の「はじめに」を調べると、リリース ビルドでデバッグ情報を有効にする必要があることがわかりましたが、QtCreator でそれを実行するにはどうすればよいですか?

「デバッグ情報の使用」ファイルから:

正確なパフォーマンス データを提供し、ソース解析を可能にするために、インテル® VTune™ Amplifier は、解析するバイナリ ファイルのデバッグ情報を必要とします。バイナリーでデバッグ情報が見つからない場合、インテル® VTune™ プロファイラーは静的に関数の境界を識別し、そのような関数に対して生成された疑似名 func@address にホットスポット・アドレスを割り当てます。

デバッグ情報が存在しない場合、ユーザー モードのサンプリングおよびトレース分析の種類に対して、[呼び出し履歴] ウィンドウで呼び出し履歴が正しく巻き戻されない場合があります。さらに、場合によっては、デバッグ情報を持たないモジュールの結果を確定するのに非常に長い時間がかかることがあります。

Windows* オペレーティング・システムでは、PDB ファイルはデバッグ情報を提供します。システムとアプリケーション ライブラリ/実行可能ファイルの両方に PDB ファイルがあることを確認してください。ターゲットを最適化してコンパイルし、そのパフォーマンスのプロファイリングを開始します。

デフォルトでは、Microsoft* Visual Studio* IDE はリリース・モードで PDB 情報を生成しません。インテル® VTune™ Amplifier でより良い結果を得るには、シンボル生成を手動で有効にします。システム ライブラリの場合、Microsoft* Symbol Server を使用して、必要な PDB ファイルを Microsoft* Web サイトからダウンロードします。以下の手順に従って、インテル® VTune™ Amplifier がシステムと独自のライブラリーの両方のデバッグ情報を使用するようにします。

次のようないくつかの方法を試します: - file.pro を編集して、リリース ビルドを変更します。

QMAKE_CXXFLAGS_RELEASE += -g
QMAKE_CFLAGS_RELEASE += -g
QMAKE_LFLAGS_RELEASE =
  • Debug ビルドをプロファイリングします。

しかし、それは何も変更しません。私はまだ関数名を印刷していません

どんな入力でも大歓迎です。

4

2 に答える 2

0
  1. VTun eupdate 7 以降を使用していることを確認してください
  2. デフォルトの MinGW ツールチェーンを使用している場合は、-gdwarf-2 (または -g3 -gdwarf-2) を渡して DWARF デバッグ形式を使用していることを確認してください。
  3. MSVC ツールチェーンを使用している場合は、/Zi をコンパイラに、/DEBUG をリンカーに渡す必要があります。
于 2014-04-02T08:51:15.527 に答える