When I first execute my C# Web Application project from Visual Studio 2012, the first launch always takes quite a while, usually 20 to 30 seconds. Most of this time seems to be "Loading symbols for reference X.Y.Z.dll". Each of my around 30 references takes about a second to load these symbols. Once they've been loaded the first time, it usually only takes a few seconds for subsequent executions.
What is this "loading symbols", exactly? Why does it take so long? Is there a way to speed it up?
Visual Studio's default behaviorVisual Studio will try to load symbols for all binaries (referred to as “modules”) in the process when the module is loaded (and for all modules already loaded when attaching to a process). The exception to this is when you are debugging managed (.
Symbols must match exactly with the module in order to be loaded. For instance if you have a module that is loaded and you ask debugger to load a pdb that was generated doing an earlier build of that module, VS will not load it.
In general, to totally control what symbols are being loaded and when, check the checkbox called "Search the above locations only when symbols are loaded manually". Symbols will only be loaded when you ask for them to be loaded via the modules or callstack windows. Also, make sure you have a symbol cache specified.
SymCache Path WPA uses SymCache files to cache symbol information from program database (PDB) files in a way that is compact and easy to access.
I believe you can disable it via
Tools -> Options -> Debugging -> Symbols
check Automatically load symbols
and
Tools -> Options -> Debugging -> General
enabling "enable Just My code "
Check that cache folder for symbols are correct Tools->Options->Debugging->Symbols
In my case I had a folder path from my previous computer and the folder can't be created at this path, hence it was downloading all symbols each time. No errors though.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With