Problem: Unknown Frames
Cause
When the
Intel® VTune™
finalizes collected data, it uses symbol information to display stack information for each function. If the Profiler
VTune
cannot find symbols for system modules used in your application, the stack data displayed in the
Profiler
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
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 Profiler VTune
tries to attach incomplete stacks to previous full stacks via
Profiler [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
|
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
- On Windows, make sure the search directories, specified in theBinary/Symbol Searchdialog box, include paths to PDB files for your application modules. For more details, see the Search Directories topic.
- On Windows, specify paths to the Microsoft* symbol server inTools > Options > Debugging > Symbolspage. On Linux, make sure to install the debug info packages available for your system version. For more details, see the Using Debug Information topic.
- Re-finalize the result.
On Windows, the
VTune
will use the symbol files for system modules from the specified cache directory and provide a more complete call stack.
Profiler