Lines Matching full:dump
1 //===- llvm-pdbutil.cpp - Dump debug info from a PDB file -------*- C++ -*-===//
101 cl::SubCommand DumpSubcommand("dump", "Dump MSF and CodeView debug info");
102 cl::SubCommand BytesSubcommand("bytes", "Dump raw bytes from the PDB file");
105 "Dump debug information using a DIA-like API");
109 "Dump semantic information about types and symbols");
174 cl::desc("When dumping a SymIndexId, dump the full details of the "
178 static cl::opt<bool> Enums("enums", cl::desc("Dump enum types"),
180 static cl::opt<bool> Pointers("pointers", cl::desc("Dump enum types"),
182 static cl::opt<bool> UDTs("udts", cl::desc("Dump udt types"),
185 cl::desc("Dump compiland information"),
188 cl::desc("Dump function signature information"),
190 static cl::opt<bool> Arrays("arrays", cl::desc("Dump array types"),
192 static cl::opt<bool> VTShapes("vtshapes", cl::desc("Dump virtual table shapes"),
194 static cl::opt<bool> Typedefs("typedefs", cl::desc("Dump typedefs"),
223 cl::opt<bool> Globals("globals", cl::desc("Dump global symbols"),
225 cl::opt<bool> Externals("externals", cl::desc("Dump external symbols"),
228 "sym-types", cl::desc("Type of symbols to dump (default all)"),
383 cl::desc("Dump binary data from specified range of blocks."),
388 cl::desc("Dump binary data from specified range of bytes"),
393 cl::desc("Dump binary data from specified streams. Format "
397 cl::opt<bool> NameMap("name-map", cl::desc("Dump bytes of PDB Name Map"),
399 cl::opt<bool> Fpm("fpm", cl::desc("Dump free page map"),
402 cl::opt<bool> SectionContributions("sc", cl::desc("Dump section contributions"),
404 cl::opt<bool> SectionMap("sm", cl::desc("Dump section map"),
406 cl::opt<bool> ModuleInfos("modi", cl::desc("Dump module info"),
408 cl::opt<bool> FileInfo("files", cl::desc("Dump source file info"),
410 cl::opt<bool> TypeServerMap("type-server", cl::desc("Dump type server map"),
412 cl::opt<bool> ECData("ec", cl::desc("Dump edit and continue map"),
416 "type", cl::desc("Dump the type record with the given type index"),
419 IdIndex("id", cl::desc("Dump the id record with the given type index"),
428 cl::opt<bool> ModuleSyms("syms", cl::desc("Dump symbol record substream"),
431 cl::desc("Dump C11 CodeView debug chunks"),
434 cl::desc("Dump C13 CodeView debug chunk subsection"),
447 namespace dump {
455 cl::opt<bool> DumpSummary("summary", cl::desc("dump file summary"),
458 cl::desc("dump summary of the PDB streams"),
466 cl::desc("Dump a detailed breakdown of symbol usage/size for each module"),
470 cl::desc("Dump a detailed breakdown of type usage/size"),
474 cl::desc("Dump a detailed breakdown of IPI types usage/size"),
478 cl::desc("Dump a detailed breakdown of S_UDT record usage / stats"),
483 cl::desc("dump CodeView type records from TPI stream"),
487 cl::desc("dump CodeView type record raw bytes from TPI stream"),
491 cl::desc("dump statistics on the number and size of types "
496 cl::desc("dump type hashes and index offsets"),
507 cl::desc("only dump types with the specified hexadecimal type index"),
511 cl::desc("dump CodeView type records from IPI stream"),
515 cl::desc("dump CodeView type record raw bytes from IPI stream"),
519 cl::desc("dump id hashes and index offsets"),
523 cl::desc("only dump ids with the specified hexadecimal type index"),
534 cl::opt<bool> DumpGlobals("globals", cl::desc("dump Globals symbol records"),
536 cl::opt<bool> DumpGlobalExtras("global-extras", cl::desc("dump Globals hashes"),
541 "With -globals, only dump globals whose name matches the given value"),
543 cl::opt<bool> DumpPublics("publics", cl::desc("dump Publics stream data"),
546 cl::desc("dump Publics hashes and address maps"),
550 cl::desc("dump public / global common record stream"),
552 cl::opt<bool> DumpSymbols("symbols", cl::desc("dump module symbols"),
557 cl::desc("dump CodeView symbol record raw bytes"),
560 cl::opt<bool> DumpFpo("fpo", cl::desc("dump FPO records"),
565 cl::desc("only dump symbol record with the specified symbol offset"),
568 cl::desc("dump the symbols record's all parents."),
576 cl::desc("dump the symbols record's all children."),
585 cl::opt<bool> DumpModules("modules", cl::desc("dump compiland information"),
589 cl::desc("Dump the source files that contribute to each module's."),
593 cl::desc("dump source file/line information (DEBUG_S_LINES subsection)"),
597 cl::desc("dump inlinee line information (DEBUG_S_INLINEELINES subsection)"),
602 "dump cross module imports (DEBUG_S_CROSSSCOPEIMPORTS subsection)"),
607 "dump cross module exports (DEBUG_S_CROSSSCOPEEXPORTS subsection)"),
620 cl::desc("dump PDB named stream table"),
623 cl::opt<bool> DumpStringTable("string-table", cl::desc("dump PDB String Table"),
626 cl::desc("dump PDB String Table Details"),
631 cl::desc("dump section contributions"),
634 cl::opt<bool> DumpSectionMap("section-map", cl::desc("dump section map"),
637 cl::desc("Dump image section headers"),
660 cl::desc("Dump everything we know how to dump."),
663 cl::desc("Do not dump MSF file headers"),
671 cl::desc("Dump the number of streams and each stream's size"),
675 cl::desc("Dump each stream's block map (implies -stream-metadata)"),
678 cl::desc("Dump the PDB Stream (Stream 1)"),
681 cl::opt<bool> StringTable("string-table", cl::desc("Dump the PDB String Table"),
685 cl::desc("Dump the DBI Stream Headers (Stream 2)"),
689 cl::desc("Dump the TPI Stream (Stream 3)"),
693 cl::desc("Dump the IPI Stream (Stream 5)"),
697 cl::desc("Dump the Publics Stream"),
701 cl::opt<bool> DumpModules("modules", cl::desc("dump compiland information"),
703 cl::opt<bool> DumpModuleFiles("module-files", cl::desc("dump file information"),
708 cl::desc("dump subsections from each module's debug stream"), ChunkValues,
710 cl::opt<bool> DumpModuleSyms("module-syms", cl::desc("dump module symbols"),
797 // PDB, but maybe we only dump a subset of those 20 streams, so we will
896 ExitOnErr(O->dump());
903 ExitOnErr(O->dump());
912 ExitOnErr(O->dump());
1176 Symbol->dump(TD);
1197 ED.dump(*PS);
1293 Dumper.dump(*Thunk);
1379 ExitOnErr(O->dump());
1479 if (opts::dump::RawAll) {
1480 opts::dump::DumpGlobals = true;
1481 opts::dump::DumpFpo = true;
1482 opts::dump::DumpInlineeLines = true;
1483 opts::dump::DumpIds = true;
1484 opts::dump::DumpIdExtras = true;
1485 opts::dump::DumpLines = true;
1486 opts::dump::DumpModules = true;
1487 opts::dump::DumpModuleFiles = true;
1488 opts::dump::DumpPublics = true;
1489 opts::dump::DumpSectionContribs = true;
1490 opts::dump::DumpSectionHeaders = true;
1491 opts::dump::DumpSectionMap = true;
1492 opts::dump::DumpStreams = true;
1493 opts::dump::DumpStreamBlocks = true;
1494 opts::dump::DumpStringTable = true;
1495 opts::dump::DumpStringTableDetails = true;
1496 opts::dump::DumpSummary = true;
1497 opts::dump::DumpSymbols = true;
1498 opts::dump::DumpSymbolStats = true;
1499 opts::dump::DumpTypes = true;
1500 opts::dump::DumpTypeExtras = true;
1501 opts::dump::DumpUdtStats = true;
1502 opts::dump::DumpXme = true;
1503 opts::dump::DumpXmi = true;
1548 opts::Filters.JustMyCode = opts::dump::JustMyCode;
1549 if (opts::dump::DumpModi.getNumOccurrences() > 0) {
1550 if (opts::dump::DumpModi.getNumOccurrences() != 1) {
1555 opts::Filters.DumpModi = opts::dump::DumpModi;
1557 if (opts::dump::DumpSymbolOffset) {
1558 if (opts::dump::DumpModi.getNumOccurrences() != 1) {
1564 opts::Filters.SymbolOffset = opts::dump::DumpSymbolOffset;
1565 if (opts::dump::DumpParents)
1566 opts::Filters.ParentRecurseDepth = opts::dump::DumpParentDepth;
1567 if (opts::dump::DumpChildren)
1568 opts::Filters.ChildrenRecurseDepth = opts::dump::DumpChildrenDepth;
1621 llvm::for_each(opts::dump::InputFilenames, dumpRaw);