To provide accurate performance data and enable source analysis, the Intel® VTune™ Amplifier requires debug information for the binary files it analyzes. If it does not find debug information in the binaries, the VTune Amplifier statically identifies function boundaries and assigns hotspot addresses to generated pseudo names func@address
for such functions, for example:
If debug information is absent, the Call Stack pane may not unwind the call stack correctly for user-mode sampling and tracing analysis types. Additionally in some cases, it can take significantly more time to finalize the results for modules that do not have debug information.
On Windows* operating systems, PDB files provide debug information. Make sure both your system and application libraries/executable have PDB files. Compile your target with optimizations and start profiling its performance.
By default, the Microsoft Visual Studio* IDE does not generate PDB information in the Release mode. For better results with the VTune Amplifier, enable symbol generation manually. For system libraries, use the Microsoft* Symbol Server to download the required PDB files from the Microsoft* web site. Follow the steps below to ensure the VTune Amplifier uses debug information for both system and your own libraries.
To download the debug information for system libraries, use one of the following options:
Option 1: Configure the Microsoft* symbol server from Visual Studio
Note
The instructions below refer to the Microsoft Visual Studio* 2010 integrated development environment (IDE). They may slightly differ for other versions of Visual Studio IDE.
Note
If you use the symbol server, the finalization process may take a long time to complete the first time the VTune Amplifier downloads the debug information for system libraries to the local directory specified in the Options (C:\windows\symbols in the example above). Subsequent finalizations should be faster.
Option 2. Configure the Microsoft symbol server from the VTune Amplifier standalone client.
Click the
Project Properties button on the toolbar.
The Project Properties dialog box opens.
Choose the Search Directories tab.
Add the following string to the list of search directories:
srv*C:\local_symbols_cache_location*http://msdl.microsoft.com/download/symbols
where
local_symbols_cache_location
is the location of local symbols. The debug symbols for system libraries will be downloaded to this location.
Option 3. Set the environment variable.
Set the environment variable (system or user) _NT_SYMBOL_PATH
to srv*C:\local_symbols_cache_location*http://msdl.microsoft.com/download/symbols
.
To enable generating the debug information for your binary files:
Right-click your C++ project and select the Properties item in the context menu.
The <your_project>Property Pages dialog box opens.
From the Configuration drop-down list, choose the Release configuration.
It may be already selected if your current configuration in the Visual Studio environment is Release.
From the left pane, select Configuration Properties > C/C++> General.
In the Debug Information Format field, choose Program Database (/Zi).
From the left pane, select Configuration Properties > Linker > Debugging.
In the Generate Debug Info field, choose Yes (/DEBUG).
Click OK to close the dialog box.
Rebuild your solution.
Note
If you configured Visual Studio to generate debug information for your files, you cannot "fix" previous results because the executable and the debug information do not match the executable you used to collect the old results.
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.