summaryrefslogtreecommitdiffstats
path: root/llvm/tools/llvm-pdbdump/llvm-pdbdump.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'llvm/tools/llvm-pdbdump/llvm-pdbdump.cpp')
-rw-r--r--llvm/tools/llvm-pdbdump/llvm-pdbdump.cpp23
1 files changed, 23 insertions, 0 deletions
diff --git a/llvm/tools/llvm-pdbdump/llvm-pdbdump.cpp b/llvm/tools/llvm-pdbdump/llvm-pdbdump.cpp
index 4f24e058f21..e051c85c5dc 100644
--- a/llvm/tools/llvm-pdbdump/llvm-pdbdump.cpp
+++ b/llvm/tools/llvm-pdbdump/llvm-pdbdump.cpp
@@ -35,6 +35,7 @@
#include "llvm/DebugInfo/PDB/PDBSymbolExe.h"
#include "llvm/DebugInfo/PDB/PDBSymbolFunc.h"
#include "llvm/DebugInfo/PDB/PDBSymbolThunk.h"
+#include "llvm/DebugInfo/PDB/Raw/ModInfo.h"
#include "llvm/DebugInfo/PDB/Raw/PDBDbiStream.h"
#include "llvm/DebugInfo/PDB/Raw/PDBFile.h"
#include "llvm/DebugInfo/PDB/Raw/PDBInfoStream.h"
@@ -278,6 +279,28 @@ static void dumpStructure(RawSession &RS) {
outs() << "Toolchain Version: " << Major << "." << Minor << '\n';
outs() << "mspdb" << Major << Minor << ".dll version: " << Major << "."
<< Minor << "." << DbiStream.getPdbDllVersion() << '\n';
+
+ outs() << "Modules: \n";
+ for (auto Modi : DbiStream.modules()) {
+ outs() << Modi.getModuleName() << '\n';
+ outs().indent(4) << "Debug Stream Index: " << Modi.getModuleStreamIndex()
+ << '\n';
+ outs().indent(4) << "Object File: " << Modi.getObjFileName() << '\n';
+ outs().indent(4) << "Num Files: " << Modi.getNumberOfFiles() << '\n';
+ outs().indent(4) << "Source File Name Idx: "
+ << Modi.getSourceFileNameIndex() << '\n';
+ outs().indent(4) << "Pdb File Name Idx: " << Modi.getPdbFilePathNameIndex()
+ << '\n';
+ outs().indent(4) << "Line Info Byte Size: " << Modi.getLineInfoByteSize()
+ << '\n';
+ outs().indent(4) << "C13 Line Info Byte Size: "
+ << Modi.getC13LineInfoByteSize() << '\n';
+ outs().indent(4) << "Symbol Byte Size: "
+ << Modi.getSymbolDebugInfoByteSize() << '\n';
+ outs().indent(4) << "Type Server Index: " << Modi.getTypeServerIndex()
+ << '\n';
+ outs().indent(4) << "Has EC Info: " << Modi.hasECInfo() << '\n';
+ }
}
static void dumpInput(StringRef Path) {
OpenPOWER on IntegriCloud