User Guide

Intel® VTune™ Profiler User Guide

ID 766319
Date 11/07/2023
Public
Document Table of Contents

Problem: Unknown Frames

Cause

When the Intel® VTune™ Profiler finalizes collected data, it uses symbol information to display stack information for each function. If the VTune Profiler cannot find symbols for system modules used in your application, the stack data displayed in the Bottom-up/Top-down Tree windows and Call Stack pane may be either incomplete or incorrect. The following scenarios are possible:

If

Then

You run Hotspots or/and Threading analysis and your application uses a system API intensively

VTune Profiler cannot unwind the stack correctly since stacks do not reach user code and stay inside the system modules. Often such stacks may be limited to call sites from system modules. Since VTune Profiler tries to attach incomplete stacks to previous full stacks via [Unknown frame(s)], you may see [Unknown frame(s)] hotspots when attributing system layers to user code via the Call stack mode option on the Filter bar.

You run Threading analysis and your application uses synchronization API causing waits that slow down the application

NOTE:

Windows* only: Missing PDB files may lead to the incorrect stack information only for 32-bit applications. For 64-bit applications, stack unwinding information is encoded inside the application.

Solution

  1. On Windows, make sure the search directories, specified in the Binary/Symbol Search dialog box, include paths to PDB files for your application modules. For more details, see the Search Directories topic.

  2. On Windows, specify paths to the Microsoft* symbol server in Tools > Options > Debugging > Symbols page. On Linux, make sure to install the debug info packages available for your system version. For more details, see the Using Debug Information topic.

  3. Re-finalize the result.

On Windows, the VTune Profiler will use the symbol files for system modules from the specified cache directory and provide a more complete call stack.