PDB Does not match Image

So we have a few people working on this game. Every now and then when we get crash .dmp files no one can seem to open them. The person who built the current version and uploaded to steam can’t do it. People building from the same commit can’t do it. We’re not sure why.

How We Solve it Now:

  1. Build from the same commit as that build came from.

  2. Get the PDB file from you project at \saved\StagedBuilds[buildname][project]\Binaries\Win64 and put it in the
    same location of the .exe from the build you’re trying to debug.

  3. Get ChkMatch.exe from http://www.debuginfo.com/tools/chkmatch.html and put it in that folder as well.

  4. Navigate to that folder in CMD prompt and run ChkMatch.exe -m [game].exe [game].pdb

  5. Now open up the dump and make sure its point to that folder location as well when you load.

  6. It should now work.

This seems like a terrible way, but we haven’t figured out how to fix it. Anyone have a better solution?

So in visual studio if you go to tools → options → debugging tab on the left → Symbols tab under debugging tab. Then you add in the directory that the PDB will be. Typically I’ve seen these PDBs delivered via steam or dropped in via secured FTP (as steam PDB delivery is a very insecure for a released game.). After you specify a path to the PDB visual studio will automatically load it up when looking at DMP file.

Sometimes I’ve seen this fail as well but during the DMP file debugging there is a “set symbol path” button which allows you to specify the PDB to use for that DMP which will then work in my experience.

Yeah that’s the solution if you get the error “Can’t find the PDB.” But the problem we are having is the steam .exe and others devs who build the same commit’s .exe don’t match the PDB image so VS won’t load it without overriding it with ChkMatch.

We tried passing the PDBs around and even crash dmps from the Steam Exe won’t open on the dev who even built that build.

If you have the PDB and exe from the same exact build it should work. When you say won’t open what do you mean? That it can’t find the correct version of PDB and exe? That visual studio refuses outright to launch? More details are really needed.