User Guide

Contents

Debug Information for Linux* Application Binaries

Intel® VTune™
Profiler
requires debug information for the binary files it analyzes to obtain accurate performance data and enable source analysis.

Debug Information for Performance Analysis

If your system and application modules have debug information, the
VTune
Profiler
is able to provide full-scale statistics on call stacks, source data, function names, and so on. For example, you may use the Call Stack Mode on the filter toolbar to select the
User/system functions
option and view data on both user and system functions.
If the
VTune
Profiler
does not find debug information for the binaries, it statically identifies function boundaries and assigns hotspot addresses to generated pseudo names
func@
address
for such functions, for example:
If a module is not found or the name of a function cannot be resolved, the
VTune
Profiler
displays module identifiers within square brackets, for example:
[module]
.
If the debug information is absent, the
VTune
Profiler
may not unwind the call stack and display it correctly in the
Call Stack
pane. Additionally in some cases, it can take significantly more time to finalize the results for modules that do not have debug information.

Generate Debug Info in the DWARF Format

Compile your code using the
-g
option that usually produces debugging information in the DWARF format. If DWARF is not a default debugging information format for the compiler, use the
-gdwarf-
version
option, for example:
-gdwarf-2
or
-gdwarf-3
.
To enable generating the debug information with MinGW/Cygwin GCC* compilers:
Use
-g
option or
-gdwarf-
version
(for example:
-gdwarf-2
,
-gdwarf-3
) if DWARF is not a default debugging information format.

Generate Debug Info File for the ELF Format

You can create separate debug info files and link them with an executable/library via debug link or build ID. Please refer to the GNU* Binutils documentation for more details.
VTune
Profiler
recognizes both types of linking:
  • If an executable file in the ELF format contains a build ID and has a separate debug info file with the name generated by the build ID, the
    VTune
    Profiler
    is able to find and validate the separate symbol file if proper search directories are set. While searching the symbol file, the
    VTune
    Profiler
    checks the
    .build-id
    subdirectory of each search directory for a file named
    hh/hhhhhhhhhhh.debug
    where
    hh
    is the first 2 hexadecimal characters of build ID and
    hhhhhhhhhhh
    is the remaining part.
  • If an executable file contains a debug link (specified in the
    .gnu_debuglink
    section) with a name of separate debug info file,
    VTune
    Profiler
    tries to find it.

Generate Debug Information for DPC++ Applications

To enable performance profiling and generate debug information for DPC++ applications running on a GPU, make sure to compile your DPC++ code with
-gline-tables-only
and
-fdebug-info-for-profiling
options.

Product and Performance Information

1

Intel's compilers may or may not optimize to the same degree for non-Intel microprocessors for optimizations that are not unique to Intel microprocessors. These optimizations include SSE2, SSE3, and SSSE3 instruction sets and other optimizations. Intel does not guarantee the availability, functionality, or effectiveness of any optimization on microprocessors not manufactured by Intel. Microprocessor-dependent optimizations in this product are intended for use with Intel microprocessors. Certain optimizations not specific to Intel microarchitecture are reserved for Intel microprocessors. Please refer to the applicable product User and Reference Guides for more information regarding the specific instruction sets covered by this notice.

Notice revision #20110804