VS de *** (since VS2002) supports symbol server access.
It means that it can, while loading symbols for a module, download them from some
preconfigured locations on the network (symbol servers), if symbols could not be found
on the local machine.
The most important use of symbol server is to download symbols for various
operating system DLLs (their symbols are available on the symbol server maintained
by Microsoft, at http://www.yqcomputer.com/
More information about symbol server and VS can be found here:
and detailed information in the documentation of Debugging Tools for Windows.
Symsrv.dll is the component that is responsible for downloading symbols from
symbol servers. If it is renamed, symbol server feature is disabled.
While very useful, symbol server access usually slows down the startup of
debugging sessions, because of the following reasons:
- Contacting symbol server takes time, and downloading symbols takes even more time.
The latter is taken care of by using local symbols cache, but the former still exists.
- Some modules do not have symbols at all (e.g. 3rd party modules), and thus
it is waste of time to contact symbol server and try to download symbols for those
modules. It can be solved using exclusion list, as shown here:
- Incorrectly set symbol server path can cause the de *** to spend unnecessary time
trying to contact a non-existing symbol server (symbol path should be checked
in _NT_SYMBOL_PATH environment variable and also in VS settings)
- Generic network problems (not related to symsrv.dll itself) can make symbol
server access very slow. In this case renaming symsrv.dll provides a temporarily
solution, until the network returns to normal.