6

I'm attempting to debug into a method in a library (which was installed via NuGet, if that matters), and Visual Studio is skipping over it with the message:

Step into: Stepping over method without symbols 'Cpi.Net.SecureMail.CryptoHelper.FindCertificate'

I have a symbol server source added in the debug settings, and when I first debugged the program, it told me it was downloading the symbols for this library. I have verified that the symbols were indeed downloaded, as they show up in my symbol cache directory.

Thanks to SLaks, I know now that the PDB that has been downloaded from the symbol server is apparently in an obsolete format. If I retrieve the PDB directly from TeamCity's build artifacts, the debugging works.

So, it appears, that somehow, or for some reason, the PDB file is being altered either through the NuGet packaging process, or through the Symbol Server download process (ProGet).

The scope of the question has now, apparently, widened significantly.

Mark
  • 11,257
  • 11
  • 61
  • 97
  • 2
    Check the Debug, Modules window. – SLaks Feb 04 '14 at 21:15
  • Huh. Never looked into that before. It says "PDB format is obsolete." – Mark Feb 04 '14 at 21:20
  • One wonders why the PDB format would be obsolete. – Mark Feb 04 '14 at 21:28
  • 1
    @Mark: Have you tried deleting your pdb files and then recompiling? – AndyG Feb 04 '14 at 21:34
  • @AndyG well, like I updated the question to state, if I get the PDB for the library directly from where it was built (TeamCity), it works. I also grabbed it from TeamCity's copy of the NuGet package, it that worked, too. Apparently ProGet is mangling it somehow? – Mark Feb 04 '14 at 21:37

1 Answers1

1

It turns out that ProGet is indeed mangling the PDB file, in order to have it point to the source server instead of the local build folder for the source files. For some reason, ProGet is creating a PDB that Visual Studio doesn't like. Inedo and I haven't been able yet to nail down why.

Mark
  • 11,257
  • 11
  • 61
  • 97
  • Inedo is aware of the issue: http://inedo.com/support/questions/1411 I suggest you contact them directly (by email or the live chat) and let them know that you're seeing the same problem. The more of us that are affected, the more likely they are to solve the problem. – Mark Feb 18 '14 at 16:03