The Symbol file MyFile.pdb does not match the module
Asked Answered
T

1

2

I've searched on this issue, and found many flavors and ideas but no real solutions. So, donning my asbestos suit and hoping for the best, I'm going to dare ask it again.

I have managed C# code that calls managed C++ code, which in turn calls unmanaged C++ code. The unmanaged C++ code is throwing an exception, and I'd like to be able to debug through it. However, when I try to (explicitly, via the Call Stack) load the symbols, I get the dreaded "The symbol file MyFile.pdb does not match the module" error.

I'm guessing that this is a generic error code being returned, as the files are from the same build. Using the chkmatch tool would seem to confirm that the files do in fact match.

Any help much appreciated... wTs

Toulon answered 9/7, 2010 at 18:48 Comment(2)
Could you expand upon (explicitly, via the Call Stack) ?Jailer
Sure - I just mean by right-clicking the DLL in the Call Stack window/tab, and selecting Load Symbols. I browse to the directory that contains the DLL and the PDB files, and select the PDB file.Toulon
J
1

Might be worthwhile checking the path of the loaded dll - are you using the one you thought you where?

If you are using incremental builds, you might also need idb files

I had an issue where MSVC just didn't want to see any debug symbols at the time, didn't work out why, but instead worked around the issue using CrashFinder or windbg instead. Perhaps a reboot will get it working again.

You might like to use symstore during your build to ensure all the pdbs are captured more reliably, that way you can debug across multiple builds of a file too.

Jailer answered 9/7, 2010 at 19:43 Comment(1)
how do you set it up to get *.idb files?Breechcloth

© 2022 - 2024 — McMap. All rights reserved.