3

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.

Community
  • 1
  • 1
CBRF23
  • 1,340
  • 1
  • 16
  • 44
  • Use the [Symchk.exe /v option](http://www.wintellect.com/devcenter/jrobbins/does-that-pdb-file-match-the-binary) to get details. – Hans Passant Aug 17 '15 at 20:50
  • @HansPassant I'm trying to follow along the examples from the link you posted, but when trying to access Symchk from command line it does not recognize `Symchk` as a valid command, program or batch file. – CBRF23 Aug 17 '15 at 21:19
  • Ahh - looks like I have to download the WDK / WinDbg packages. I'll have to do that in the morning and try it out. – CBRF23 Aug 17 '15 at 21:20
  • After installing the WDK 8.1 package (I'm on Windows 7, and the site indicated this was the correct package) my VS2013 install now seems to be broken. Getting an error regarding driver fail to load, and the application never loads - just get a black box where the application window should be. I'll have to get this sorted before I can continue with the symchk test now. – CBRF23 Aug 18 '15 at 12:36
  • I solved this by republishing my project. I think the published version was older than what the version I had open on Visual Studio. – jumxozizi Aug 16 '16 at 14:02

4 Answers4

1

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:

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

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

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

  4. 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).

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

  6. I downloaded WDK 8.1 update and installed.

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

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

  9. Downloaded and installed VSC 2015.

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

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

CBRF23
  • 1,340
  • 1
  • 16
  • 44
0

I had the same problem with VS2013 Ultimate. I did a clean and build of the assembly several times, and I deleted all temporary files from C:\Windows\Microsoft.NET\Framework64\v4.0.30319\Temporary ASP.NET Files.

I also verified that in "Debug -> Options and Settings -> Symbols", there were no modules excluded... in the end, I found a reference that was different from that deployed into the GAC.

Nate Barbettini
  • 51,256
  • 26
  • 134
  • 147
-1

I'm glad you got it to work CBRF23! I had this problem when trying to compile a DirectX effect file in DevC++. The easiest way I found of downloading pdbs is to first download WinDBG here: http://go.microsoft.com/fwlink/p/?LinkId=536682 Then as an example, say you want to download d3dx9d.pdb. copy d3dx9d.dll from C:\windows\system32 and paste another copy into your (debugger) windbg symchk.exe folder, then connect to your internet server, go to the windows start menu, Run: [then type] cmd [press enter], next go to the windbg debugger folder by going to the Command Prompt (MS-DOS Window) (if it's in the C:\windbg_6p12p0002p633\debugger_x86 folder for example, then type):

cd windbg_6p12p0002p633[enter] cd debugger_x86

[and finally type the following but change the double asterisk** to one asterisk *:]

symchk /if d3dx9d.dll srv**c:\symbols*\mainserver\symbols*https://msdl.microsoft.com/download/symbols

Please note again, that there is only supposed to be one asterisk after srv (the post would interpret an asterisk as italic or bold), not two then it will open symchk.exe and download the pdb symbol file associated with the inputted dll into the created C:\symbols\ folder automatically!

-2

Did you try these steps?

1- delete the .SUO file

2- make a CLEAN BUILD.

3- make a BUILD PROJECT

David BS
  • 1,822
  • 1
  • 19
  • 35
  • Per my original question: **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.** ". Just did it again, making sure to delete the .SUO file and no change in behavior - I still get the .PDB failing to load. – CBRF23 Aug 18 '15 at 12:07