[PATCH] D20982: [Symbolize] Check if the PE file has a PDB and emit an error if we can't load it

Reid Kleckner via llvm-commits llvm-commits at lists.llvm.org
Fri Jun 3 12:48:10 PDT 2016


rnk created this revision.
rnk added reviewers: zturner, eugenis.
rnk added a subscriber: llvm-commits.

Previously we would try to load PDBs for every PE executable we tried to
symbolize. If that failed, we would fall back to DWARF. If there wasn't
any DWARF, we'd print mostly useless symbol information using the export
table.

With this change, we only try to load PDBs for executables that claim to
have them. If that fails, we can now print an error rather than falling
back silently. This should make it a lot easier to diagnose and fix
common symbolization issues, such as not having DIA or not having a PDB.

http://reviews.llvm.org/D20982

Files:
  include/llvm/DebugInfo/Symbolize/Symbolize.h
  include/llvm/Object/COFF.h
  lib/DebugInfo/Symbolize/Symbolize.cpp
  lib/Object/COFFObjectFile.cpp
  test/tools/llvm-symbolizer/pdb/Inputs/missing_pdb.exe
  test/tools/llvm-symbolizer/pdb/missing_pdb.test
  tools/llvm-symbolizer/llvm-symbolizer.cpp
  tools/sancov/sancov.cc

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D20982.59605.patch
Type: text/x-patch
Size: 17505 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20160603/b020eea3/attachment.bin>


More information about the llvm-commits mailing list