User Guide

Intel® VTune™ Profiler User Guide

ID 766319
Date 12/16/2022

A newer version of this document is available. Customers should click here to go to the newest version.

Document Table of Contents

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™ Profiler, 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:


VTune Profiler does not automatically search the Microsoft symbol server for debug information for system files since this functionality:

  • 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.

  1. Make sure you have Internet connection available on your machine.

  2. Go to Tools > Options....

    The Options dialog box opens.

  3. From the left pane, select Debugging > Symbols.

  4. In the Symbol file (.pdb) locations field, select the Microsoft Symbol Servers option, typically provided by default, or click the button and add the following address to the list:

  5. Make sure the added address is checked.

  6. In the Cache symbols in this directory field, 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:

  7. Click OK to close the dialog box.

    For newly collected results, the VTune Profiler downloads debug information for system libraries automatically while finalizing the results. For previous results, however, you need to re-finalize the results so that the VTune Profiler can download the debug information for system libraries. To start re-finalizing the result, right-click the result node in the Solution Explorer and choose Re-resolve and Open.


If you use the symbol server, the finalization process may take a long time to complete the first time the VTune Profiler downloads the debug information for system libraries to the local directory specified in the Options (for example, C:\Windows\symbols). Subsequent finalizations should be faster.

Configure the Microsoft Symbol Server from the VTune Profiler Standalone GUI

  1. Click the Configure Analysis button on the toolbar.

    The Configure Analysis window opens.

  2. Click the Search Binaries button at the bottom.

  3. Add the following string to the list of search directories:


    where local_symbols_cache_location is the location of local symbols. The debug symbols for system libraries will be downloaded to this location.


    If 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 standalone VTune Profiler so that you do not waste time and space downloading symbols that already exist in a cache directory.

Set the Environment Variable

Set the environment variable (system or user) _NT_SYMBOL_PATH to srv*C:\local_symbols_cache_location* .