I've got a project that debugging was working just fine about an hour ago, and now after the latest rebuild I can't get it to load the symbol files, so I cannot hit my breakpoints.
I've tried everything suggested here on Fixing “The breakpoint will not currently be hit. No symbols have been loaded for this document.” and cannot get it to load my PDB. There are a ton of questions on .PDB files not loading here on SO and I've spent the last hour going through as many of them as I can and trying everything suggested, but to no avail.
I've tried Build>Rebuild Solution
, Build>Clean
+ Build>Build Solution
, Build>Clean
+ Build>Rebuild Solution
, manually deleting all files from the BIN output folder + Build Solution
and/or Rebuild Solution
. The same thing happens in each case; the compiler creates a brand spanking new .DLL and .PDB file, yet the .PDB refuses to load at runtime.
I've even tried Debug>Windows>Modules>[Right-Click on offending symbol library]>Load Symbols
and I manually browsed to the correct .PDB file, but when I hit Open
it just tells me "A matching symbol file was not found in this folder".
Using Debug>Windows>Modules>[Right click...]>Load Symbol Information
gives me:
C:\Windows\ssoederPDMupgrade.pdb: Cannot find or open the PDB file. C:\VS_TestFolder\EPDMAddIns\ssoederPDMupgrade\bin\Debug\ssoederPDMupgrade.pdb: PDB does not match image. C:\VS_TestFolder\EPDMAddIns\ssoederPDMupgrade\obj\Debug\ssoederPDMupgrade.pdb: PDB does not match image. C:\Windows\ssoederPDMupgrade.pdb: Cannot find or open the PDB file. C:\Windows\symbols\dll\ssoederPDMupgrade.pdb: Cannot find or open the PDB file. C:\Windows\dll\ssoederPDMupgrade.pdb: Cannot find or open the PDB file. C:\Users\ssoeder\AppData\Local\Temp\SymbolCache\ssoederPDMupgrade.pdb\afe14027e9c6490883d12f2f139cb5911\ssoederPDMupgrade.pdb: Cannot find or open the PDB file. C:\Users\ssoeder\AppData\Local\Temp\SymbolCache\MicrosoftPublicSymbols\ssoederPDMupgrade.pdb\afe14027e9c6490883d12f2f139cb5911\ssoederPDMupgrade.pdb: Cannot find or open the PDB file. C:\VS_TestFolder\EPDMAddIns\ssoederPDMupgrade\obj\Debug\ssoederPDMupgrade.pdb: PDB does not match image. SYMSRV: C:\Users\ssoeder\AppData\Local\Temp\SymbolCache\ssoederPDMupgrade.pdb\AFE14027E9C6490883D12F2F139CB5911\ssoederPDMupgrade.pdb not found
SYMSRV: http://msdl.microsoft.com/download/symbols/ssoederPDMupgrade.pdb/AFE14027E9C6490883D12F2F139CB5911/ssoederPDMupgrade.pdb not found
http://msdl.microsoft.com/download/symbols: Symbols not found on symbol server.
Not much of an answer but...
I think something became corrupt in VS Express 2013. I have no idea how or why - and I may be totally wrong here, but the simple matter is what got my breakpoints working was installing VS Community 2015.
After installing VS Community 2015 (VSC 2015) the symbol file loads without problem, and all breakpoints are hit. This also got everything working in my existing VS Express 2013 (VSC 2013) installation, so I can work in either one now without problem.
Event timeline:
I've been working in VSE 2013 on this same project for a month or two now. Writing a class library, debugging using Debug>Attach to process
.
I made some changes yesterday to code within a single class module (no other changes) and used Build>Rebuild Solution
to clean and re-generate the current configuration (DEBUG) output files.
Event horizon: I went to debug using Attach to process
as usual, and my break point appeared hollow with the message it would not be hit because no symbols had been loaded.
I spent quite a bit of time trying to work this out before posting here (see my original question for details on what was tried).
Received suggestion from @HansPassant regarding use of Symchk
from command line. Tried to follow instructions linked to and was unable to get it working - command line didn't recognize Symchk
or Symchk.exe
as valid commands/processes/etc.
I downloaded WDK 8.1 update and installed.
Opened VSE 2013, received an error message regarding a driver failing to load, application froze before loading up. Actually, after trying multiple times I found it would sometimes get to the welcome screen - but remained unresponsive even then.
Went on M$ VS site to download latest copy of VSE 2013 installation files to do a repair-install, and I noticed there was a newer version: VSC 2015.
Downloaded and installed VSC 2015.
Opened project, started debugging by using Debug>Attach to process
and it worked - all symbols loaded and my breakpoints worked. NOTE: I changed nothing with the project * - just opened it and ran.
* unless some changes are made by the IDE unbeknownst to me just by opening the project.
This seemed to repair whatever driver was corrupted in the VS2013 install as well, as I went back to VSE 2013 and it opened without error AND I was able to open the same project and do Attach to process
and all symbols loaded and breakpoints are working again.