[PATCH] D44405: [DIA] Add support for dumping injected sources

Zachary Turner via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Mon Mar 12 17:07:50 PDT 2018


zturner created this revision.
zturner added reviewers: asmith, stella.stamenova, amccarth.
Herald added subscribers: JDevlieghere, hiraditya, aprantl, mgorny.

Injected sources are basically a way to add actual source file content to your PDB.  Presumably you could use this for shipping your source code with your debug information, but in practice I can only find this being used for embedding natvis files inside of PDBs.

In order to effectively test LLVM's natvis file injection, we need a way to dump the injected sources of a PDB in a way that is authoritative (i.e. based on Microsoft's understanding of the PDB format, and not LLVM's).  To this end, I've added support for dumping injected sources via DIA.  I made a PDB file that used the /natvis option to generate a test case.


https://reviews.llvm.org/D44405

Files:
  llvm/include/llvm/DebugInfo/PDB/DIA/DIAEnumInjectedSources.h
  llvm/include/llvm/DebugInfo/PDB/DIA/DIAInjectedSource.h
  llvm/include/llvm/DebugInfo/PDB/DIA/DIASession.h
  llvm/include/llvm/DebugInfo/PDB/DIA/DIAUtils.h
  llvm/include/llvm/DebugInfo/PDB/IPDBInjectedSource.h
  llvm/include/llvm/DebugInfo/PDB/IPDBSession.h
  llvm/include/llvm/DebugInfo/PDB/Native/NativeSession.h
  llvm/include/llvm/DebugInfo/PDB/PDBExtras.h
  llvm/include/llvm/DebugInfo/PDB/PDBTypes.h
  llvm/lib/DebugInfo/PDB/CMakeLists.txt
  llvm/lib/DebugInfo/PDB/DIA/DIAEnumInjectedSources.cpp
  llvm/lib/DebugInfo/PDB/DIA/DIAInjectedSource.cpp
  llvm/lib/DebugInfo/PDB/DIA/DIASession.cpp
  llvm/lib/DebugInfo/PDB/Native/NativeSession.cpp
  llvm/lib/DebugInfo/PDB/PDBExtras.cpp
  llvm/lib/DebugInfo/PDB/PDBInterfaceAnchors.cpp
  llvm/test/tools/llvm-pdbdump/Inputs/InjectedSource.pdb
  llvm/test/tools/llvm-pdbdump/injected-sources.test
  llvm/tools/llvm-pdbutil/llvm-pdbutil.cpp

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D44405.138110.patch
Type: text/x-patch
Size: 22930 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20180313/e77a566b/attachment.bin>


More information about the llvm-commits mailing list