Debug Information for Windows* System Libraries
By default, the Microsoft Visual Studio* IDE does not generate PDB information in the
Release
mode. For better results with the
Intel® VTune™
, enable symbol generation manually. For system libraries, use the Microsoft* Symbol Server to download the required PDB files from the Microsoft* web site by selecting any of the options below:
Profiler
VTune
does not automatically search the Microsoft symbol server for debug information for system files since this functionality:
Profiler
- Requires an internet connection. Some users are collecting and viewing results on isolated lab systems and do not have internet access.
- Adds an overhead to finalization of the collection results. For each module without debug information on the local system, a request goes out to the symbol server. If symbols are available, additional time is required to download the symbol file.
- Uses additional disk space. If symbols for system modules are not used, this disk space is wasted.
- May be unwanted. Many users do not need to examine details of time spent in system calls and modules. Automatically downloading symbols for system files would be wasteful in this case.
Configure the Microsoft* Symbol Server from Visual Studio* IDE
The instructions below refer to the Microsoft Visual Studio* 2015 integrated development environment (IDE). They may slightly differ for other versions of Visual Studio IDE.
- Make sure you have Internet connection available on your machine.
- Go toTools > Options....TheOptionsdialog box opens.
- From the left pane, selectDebugging > Symbols.
- In theSymbol file (.pdb) locationsfield, select theMicrosoft Symbol Serversoption, typically provided by default, or click the
button and add the following address to the list:
http://msdl.microsoft.com/download/symbols. - Make sure the added address is checked.
- In theCache symbols in this directoryfield, specify the directory where the downloaded symbol files will be stored.If you plan to download symbols from the Microsoft symbol server only once and then use local storage, use the following syntax for the cache directory:srv*<local_dir>. For example:srv*C:\Windows\symbols.See this example:
- ClickOKto close the dialog box.For newly collected results, theVTunedownloads debug information for system libraries automatically while finalizing the results. For previous results, however, you need to re-finalize the results so that theProfilerVTunecan download the debug information for system libraries. To start re-finalizing the result, right-click the result node in theProfilerSolution Explorerand chooseRe-resolve and Open.
If you use the symbol server, the finalization process may take a long time to complete the first time the
VTune
downloads the debug information for system libraries to the local directory specified in the
Profiler
Options
(for example,
C:\Windows\symbols
). Subsequent finalizations should be faster.
Configure the Microsoft Symbol Server from the
VTune
Profiler Standalone GUI
VTune
Standalone GUI Profiler
- Click theConfigure Analysisbutton on the toolbar.The Configure Analysis window opens.
- Click theSearch Binariesbutton at the bottom.
- Add the following string to the list of search directories:srv*C:\local_symbols_cache_location*http://msdl.microsoft.com/download/symbolswhereis the location of local symbols. The debug symbols for system libraries will be downloaded to this location.local_symbols_cache_locationIf you specify different directories for different projects, the files will be downloaded multiple times, adding unwanted overhead. If you have a Visual Studio project that defines a cache directory for the symbol server, use the same directory in the standaloneVTuneso that you do not waste time and space downloading symbols that already exist in a cache directory.Profiler
Set the Environment Variable
Set the environment variable (system or user)
_
to
NT_SYMBOL
_PATHsrv*C:\
.
local_symbols_cache_location
*http://msdl.microsoft.com/download/symbols