インテル® Advisor ツールを実行した後に、表示されるトップダウン表示に予期しない、または意味不明なアプリケーションのスタックが表示されることがあります。
ターゲットは、バイナリーからスタック情報を削除した最適化レベルでビルドされました。
次のいずれかを行います。
オフライン (収集後) からオンライン (収集中) にスタックウォーク・モードを変更します。
インテル® Advisor GUI : [Project Properties (プロジェクトのプロパティー)] > [Analysis Target (解析ターゲット)] > [Survey Hotspots Analysis (サーベイ・ホットスポット解析)] > [Advanced (高度)] > [Stack unwinding mode (スタック・アンワインド・モード)] に移動して、[During collection (収集中)] ドロップダウン・オプションを選択します。
コマンドライン・インターフェイス (CLI) から実行できます: --stackwalk-mode=online オプションを使用します。例:
advisor --collect=survey --project-dir=./myAdvisorProj --stackwalk-mode=online -- ./bin/myTargetApplication
このオプションは解析のオーバーヘッドを増加させます。
プロジェクトの最適化レベルを下げてリビルドします。例えば、インテル® C++ コンパイラー・クラシック、またはインテル® oneAPI DPC++/C++ コンパイラーでは、次のオプションを使用します。
適度な最適化を要求します。
Linux* と macOS*: O2 以下を使用します
Windows* : /O2 以下を使用します
コンパイラーのインライン展開を無効にします。
Linux* と macOS*: -fno-inline を使用します
Windows* : /Ob0 を使用します
プロシージャー間の最適化を無効にします。
Linux* と macOS*: -no-ipo -no-ip を使用します
Windows* : /Qipo- /Qip- を使用します
次のオプションの使用を検討してください。
デバッグ情報の最大レベルを選択します。
Linux* と macOS* : -g[n] を使用します
Windows* : Zi、Z7、ZI を使用します
オブジェクト・ファイルに追加のデバッグ情報を含めるには、-g3 または ZI を使用します。
ループアンロール回数の上限を設定します。
Linux* と macOS* : -unroll[=n] を使用します
Windows* : /Qunroll[:n] を使用します
ループをアンロールしないことをコンパイラーに指示するには、-unroll=0 または /Qunroll:0 を使用します。