Source information missing from the debug information for this module - PDB successfully loaded

etodd picture etodd · Sep 27, 2016 · Viewed 18.2k times · Source

Visual Studio loads the correct PDB file, but can't find source information for anything in the solution.

Things I've tried:

  • Clean, reboot, regenerate project (CMake), rebuild
  • Check the Modules window to ensure the PDB is loaded (it is)
  • Mess with "Debug Source Files" setting under solution properties
  • Check the PDB file with symchk (it says the PDB matches the EXE, and that it has full symbol information, i.e. it's not stripped)
  • Download system lib symbols from Microsoft because why not

Is there some setting that generates a PDB without source information? Or could it be baking bad paths into the PDB? I tried grepping through the PDB and although it appears to have all the symbols, I couldn't find any source file paths.

More info: this is a 64-bit C++ project. Everything is statically linked including the runtime.

Answer

etodd picture etodd · Sep 29, 2016

The project was missing the /Zi parameter. Apparently this still causes the compiler to generate a PDB file that can be successfully loaded, it just doesn't have any useful symbols in it. No idea why.