Debug Information for Linux* Application Binaries
Intel® VTune™
requires debug information for the binary files it analyzes to obtain accurate performance data and enable source analysis.
Profiler
Debug Information for Performance Analysis
If your system and application modules have debug information, the
VTune
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
Profiler
User/system functions
option and view data on both user and system functions.
If the
VTune
does not find debug information for the binaries, it statically identifies function boundaries and assigns hotspot addresses to generated pseudo names
Profiler
func@
for such functions, for example:
address

If a module is not found or the name of a function cannot be resolved, the
VTune
displays module identifiers within square brackets, for example:
Profiler
[module]
.
If the debug information is absent, the
VTune
may not unwind the call stack and display it correctly in the
Profiler
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, or if you are using MinGW/Cygwin GCC*, use the
-gdwarf-
option, for example:
version
-gdwarf-2
or
-gdwarf-3
.
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
recognizes both types of linking:
Profiler
- 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, theVTuneis able to find and validate the separate symbol file if proper search directories are set. While searching the symbol file, theProfilerVTunechecks theProfiler.build-idsubdirectory of each search directory for a file namedhh/hhhhhhhhhhh.debugwherehhis the first 2 hexadecimal characters of build ID andhhhhhhhhhhhis the remaining part.
- If an executable file contains a debug link (specified in the.gnu_debuglinksection) with a name of separate debug info file,VTunetries to find it.Profiler
Generate Debug Information for SYCL* Applications
To enable performance profiling and generate debug information for SYCL applications running on a GPU, make sure to compile your code with
-gline-tables-only
and
-fdebug-info-for-profiling
options.
Generate Debug Information for OpenMP* Offload Applications
When you build OpenMP* Offload applications with the
Intel® oneAPI
or Intel Fortran compiler, compile your code with the
DPC++/C++
Compiler--info-for-profiling
switch.
When using the Intel Fortran compiler to compile OpenMP Offload code, make sure to use the
-debug offload
option.