Generating Symbol and Line Number Information

The VTuneTM Performance Analyzer requires line number information and symbol information provided in the executable in order to display the function names in sampling and call graph views. It does not support other symbol files, such as .map and .pdb.

The VTune analyzer searches for symbol information in the binary file it launches. If it cannot find this information, the VTune analyzer disassembles your code and provides static analysis of the basic blocks in your code.

The VTune analyzer for Linux* (vtl) recognizes the GNU* debug formats (STABS and DWARF 2).

The following topics provide instructions on how to generate symbol and line number information using several popular compilers:

Drilling-down to a Linux* Kernel

In order to drill down to kernel sources, the kernel must be compiled with debug information. 

To build a kernel file with debug information:

  1. Go to the directory containing the kernel sources and edit the kernel source's top-level Makefile.

  2. Add the -g option to the following variables:

...

# Include the make variables (CC, etc...)

...

CFLAGS_KERNEL = -g

...

# standard CFLAGS

...

CFLAGS := ... -g ...

...

  1. If your kernel sources have not been configured yet, see the instructions provided in the VTune Performance Analyzer Driver Kit for more information. By default, the instructions are installed in:
    /opt/intel/vtune/analyzer/vdk/src/doc/HOWTO-BUILD-LINUX32-KERNEL-FOR-VTUNE

  2. Run make clean all to create the vmlinux kernel file with debug information.

  3. After performing a sampling session, specify that file as the one to drill down on for the hotspot view.

Note

Generating line number and symbol information preserves any existing optimizations in the monitored application.