Intel® VTune™ Amplifier 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 Amplifier 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 Amplifier 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 Amplifier displays module identifiers within square brackets, for example: [module].
If the debug information is absent, the VTune Amplifier 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 Amplifier 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 Amplifier is able to find and validate the separate symbol file if proper search directories are set. While searching the symbol file, the VTune Amplifier 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 Amplifier tries to find it.