reference, declarationdefinition
definition → references, declarations, derived classes, virtual overrides
reference to multiple definitions → definitions
unreferenced

References

tools/llvm-pdbutil/DumpOutputStyle.cpp
   75   AutoIndent Indent(P, 4);
   76   P.formatLine("Dumping this stream is not valid for object files");
   80   AutoIndent Indent(P, 4);
   81   P.formatLine("{0} stream not present", StreamName);
   92     P.NewLine();
   98     P.NewLine();
  104     P.NewLine();
  110     P.NewLine();
  116     P.NewLine();
  122     P.NewLine();
  128     P.NewLine();
  226   P.NewLine();
  238   printHeader(P, "Summary");
  245   AutoIndent Indent(P);
  248   P.formatLine("Block Size: {0}", getPdb().getBlockSize());
  249   P.formatLine("Number of blocks: {0}", getPdb().getBlockCount());
  250   P.formatLine("Number of streams: {0}", getPdb().getNumStreams());
  253   P.formatLine("Signature: {0}", PS.getSignature());
  254   P.formatLine("Age: {0}", PS.getAge());
  255   P.formatLine("GUID: {0}", fmt_guid(PS.getGuid().Guid));
  256   P.formatLine("Features: {0:x+}", static_cast<uint32_t>(PS.getFeatures()));
  257   P.formatLine("Has Debug Info: {0}", getPdb().hasPDBDbiStream());
  258   P.formatLine("Has Types: {0}", getPdb().hasPDBTpiStream());
  259   P.formatLine("Has IDs: {0}", getPdb().hasPDBIpiStream());
  260   P.formatLine("Has Globals: {0}", getPdb().hasPDBGlobalsStream());
  261   P.formatLine("Has Publics: {0}", getPdb().hasPDBPublicsStream());
  264     P.formatLine("Is incrementally linked: {0}", DBI.isIncrementallyLinked());
  265     P.formatLine("Has conflicting types: {0}", DBI.hasCTypes());
  266     P.formatLine("Is stripped: {0}", DBI.isStripped());
  377   printHeader(P, "Streams");
  384   AutoIndent Indent(P);
  393     P.formatLine(
  403       P.formatLine("       {0}  Blocks: [{1}]",
  580   printHeader(P, "Modules");
  592   AutoIndent Indent(P);
  599       File, PrintScope{P, 11}, [&](uint32_t Modi, const SymbolGroup &Strings) {
  603           dumpSectionContrib(P, Desc.getSectionContrib(), Sections, 0);
  605         P.formatLine("Obj: `{0}`: ", Desc.getObjFileName());
  606         P.formatLine("debug stream: {0}, # files: {1}, has ec info: {2}",
  613         P.formatLine("pdb file ni: {0} `{1}`, src file ni: {2} `{3}`",
  621   printHeader(P, "Files");
  635   iterateSymbolGroups(File, PrintScope{P, 11},
  641                           Strings.formatFromFileName(P, F);
  648   printHeader(P, "Module Stats");
  662     Scope.emplace(P, 2);
  669       AutoIndent Indent(P);
  676         P.formatLine("Mod {0} (debug info not present): [{1}]",
  681       P.formatLine("Stream {0}, {1} bytes", StreamIdx,
  684       printModuleDetailStats<SymbolKind>(P, "Symbols", SS);
  685       printModuleDetailStats<DebugSubsectionKind>(P, "Chunks", CS);
  690     P.printLine("  Summary |");
  691     AutoIndent Indent(P, 4);
  692     printModuleDetailStats<SymbolKind>(P, "Symbols", SymStats);
  693     printModuleDetailStats<DebugSubsectionKind>(P, "Chunks", ChunkStats);
  700   printHeader(P, "Type Record Stats");
  710   P.NewLine();
  711   P.formatLine("  Types");
  712   AutoIndent Indent(P);
  713   P.formatLine("{0,14}: {1,7} entries ({2,12:N} bytes, {3,7} avg)", "Total",
  716   P.formatLine("{0}", fmt_repeat('-', 74));
  719     P.formatLine("{0,14}: {1,7} entries ({2,12:N} bytes, {3,7} avg)",
  771   printHeader(P, "S_UDT Record Stats");
  780   AutoIndent Indent(P, 4);
  821   P.NewLine();
  866   P.formatLine("{0} | {1}  {2}",
  871   P.formatLine("{0}", fmt_repeat('-', TableWidth));
  874     P.formatLine("{0} | {1:N}  {2:N}",
  879   P.formatLine("{0}", fmt_repeat('-', TableWidth));
  880   P.formatLine("{0} | {1:N}  {2:N}",
  884   P.formatLine("{0}", fmt_repeat('-', TableWidth));
  900     P.formatLine("{0} | {1:N}  {2:N}",
  943   printHeader(P, "Lines");
  953       File, PrintScope{P, 4},
  964             Strings.formatFromChecksumsOffset(P, Block.NameIndex);
  967           AutoIndent Indent(P, 2);
  968           P.formatLine("{0:X-4}:{1:X-8}-{2:X-8}, ", Segment, Begin, End);
  971             P.format("line/column/addr entries = {0}", Count);
  973             P.format("line/addr entries = {0}", Count);
  975           P.NewLine();
  976           typesetLinesAndColumns(P, Begin, Block);
  984   printHeader(P, "Inlinee Lines");
  992       File, PrintScope{P, 2},
  995         P.formatLine("{0,+8} | {1,+5} | {2}", "Inlinee", "Line", "Source File");
  997           P.formatLine("{0,+8} | {1,+5} | ", Entry.Header->Inlinee,
  999           Strings.formatFromChecksumsOffset(P, Entry.Header->FileID, true);
 1001             P.formatLine("                   ");
 1002             Strings.formatFromChecksumsOffset(P, ExtraFileID, true);
 1005         P.NewLine();
 1012   printHeader(P, "Cross Module Imports");
 1020       File, PrintScope{P, 2},
 1023         P.formatLine("{0,=32} | {1}", "Imported Module", "Type IDs");
 1044               typesetItemList(TIs, P.getIndentLevel() + 35, 12, " ");
 1045           P.formatLine("{0,+32} | {1}", Module, Result);
 1053   printHeader(P, "Cross Module Exports");
 1061       File, PrintScope{P, 2},
 1064         P.formatLine("{0,-10} | {1}", "Local ID", "Global ID");
 1066           P.formatLine("{0,+10:X+} | {1}", TypeIndex(Export.Local),
 1089   printHeader(P, "Old FPO Data");
 1101   P.printLine("  RVA    | Code | Locals | Params | Prolog | Saved Regs | Use "
 1105     P.formatLine("{0:X-8} | {1,4} | {2,6} | {3,6} | {4,6} | {5,10} | {6,6} | "
 1116   printHeader(P, "New FPO Data");
 1128   P.printLine("  RVA    | Code | Locals | Params | Stack | Prolog | Saved Regs "
 1138     P.formatLine("{0:X-8} | {1,4} | {2,6} | {3,6} | {4,5} | {5,6} | {6,10} | "
 1169   AutoIndent Indent(P);
 1172     P.formatLine("Not present in file");
 1179       P.formatLine("Empty");
 1185       P.formatLine("{0} | {1}", fmt_align("ID", AlignStyle::Right, Digits),
 1204           P.formatLine("{0} | {1}", fmt_align(I, AlignStyle::Right, Digits),
 1211     P.NewLine();
 1213       P.printLine("String Table Header:");
 1214       AutoIndent Indent(P);
 1215       P.formatLine("Signature: {0}", IS->getSignature());
 1216       P.formatLine("Hash Version: {0}", IS->getHashVersion());
 1217       P.formatLine("Name Buffer Size: {0}", IS->getByteSize());
 1218       P.NewLine();
 1224     P.formatBinary("Name Buffer", Contents, 0);
 1225     P.NewLine();
 1227       P.printLine("Hash Table:");
 1228       AutoIndent Indent(P);
 1229       P.formatLine("Bucket Count: {0}", IS->name_ids().size());
 1231         P.formatLine("Bucket[{0}] : {1}", Entry.index(),
 1233       P.formatLine("Name Count: {0}", IS->getNameCount());
 1241       File, PrintScope{P, 4},
 1253           P.formatLine("{0} | {1}", fmt_align(Offset, AlignStyle::Right, 4),
 1261   printHeader(P, "Named Streams");
 1268   AutoIndent Indent(P);
 1274     P.printLine(Entry.getKey());
 1275     AutoIndent Indent2(P, 2);
 1276     P.formatLine("Index: {0}", Entry.getValue());
 1277     P.formatLine("Size in bytes: {0}",
 1285   printHeader(P, "String Table");
 1380       printHeader(P, "Types (.debug$T)");
 1382       printHeader(P, "Precompiled Types (.debug$P)");
 1401       dumpFullTypeStream(P, Types, RefTracker.get(), 0, 0, {}, nullptr,
 1408       P.formatLine("Local / Global hashes:");
 1411         AutoIndent Indent2(P);
 1415         P.formatLine("TI: {0}, LocalHash: {1:X}, GlobalHash: {2}", TI, L, G);
 1419       P.NewLine();
 1430     printHeader(P, "Types (TPI Stream)");
 1432     printHeader(P, "Types (IPI Stream)");
 1463   AutoIndent Indent(P);
 1480       dumpFullTypeStream(P, Types, MaybeTracker, Stream.getNumTypeRecords(),
 1485       dumpPartialTypeStream(P, Types, MaybeTracker, Stream, TiList, DumpBytes,
 1491     P.NewLine();
 1493     P.formatLine("Header Version: {0}",
 1495     P.formatLine("Hash Stream Index: {0}", Stream.getTypeHashStreamIndex());
 1496     P.formatLine("Aux Hash Stream Index: {0}",
 1498     P.formatLine("Hash Key Size: {0}", Stream.getHashKeySize());
 1499     P.formatLine("Num Hash Buckets: {0}", Stream.getNumHashBuckets());
 1502     P.formatLine("Type Index Offsets:");
 1504       AutoIndent Indent2(P);
 1505       P.formatLine("TI: {0}, Offset: {1}", IO.Type, fmtle(IO.Offset));
 1509       P.NewLine();
 1510       P.formatLine("Hash Adjusters:");
 1514         AutoIndent Indent2(P);
 1518           P.formatLine("`{0}` -> {1}", *ExpectedStr, TI);
 1520           P.formatLine("unknown str id ({0}) -> {1}", A.first, TI);
 1530   printHeader(P, "Symbols");
 1532   AutoIndent Indent(P);
 1540   MinimalSymbolDumper Dumper(P, opts::dump::DumpSymRecordBytes, Types, Types);
 1549       File, PrintScope{P, 2},
 1568   printHeader(P, "Symbols");
 1575   AutoIndent Indent(P);
 1582       File, PrintScope{P, 2}, [&](uint32_t I, const SymbolGroup &Strings) {
 1585           P.formatLine("Error loading module stream {0}.  {1}", I,
 1594         MinimalSymbolDumper Dumper(P, opts::dump::DumpSymRecordBytes, Strings,
 1603           P.formatLine("Error while processing symbol records.  {0}",
 1612   printHeader(P, "Type Reference Statistics");
 1613   AutoIndent Indent(P);
 1631   P.formatLine("Records referenced: {0:N} / {1:N} {2:P}", RefRecs, TotalRecs,
 1633   P.formatLine("Bytes referenced: {0:N} / {1:N} {2:P}", RefBytes, TotalBytes,
 1640   printHeader(P, "GSI Records");
 1652   AutoIndent Indent(P);
 1658   P.printLine("Records");
 1661   MinimalSymbolDumper Dumper(P, opts::dump::DumpSymRecordBytes, Ids, Types);
 1674   printHeader(P, "Global Symbols");
 1686   AutoIndent Indent(P);
 1700     MinimalSymbolDumper Dumper(P, opts::dump::DumpSymRecordBytes, Ids, Types);
 1708       AutoIndent Indent(P);
 1709       P.formatLine("Global Name `{0}`", Name);
 1713         AutoIndent Indent(P);
 1714         P.printLine("(no matching records found)");
 1728   printHeader(P, "Public Symbols");
 1740   AutoIndent Indent(P);
 1746     P.printLine("Publics Header");
 1747     AutoIndent Indent(P);
 1748     P.formatLine("sym hash = {0}, thunk table addr = {1}", Publics.getSymHash(),
 1758   P.formatLine("Address Map");
 1761     AutoIndent Indent2(P);
 1763       P.formatLine("off = {0}", Addr);
 1768     P.formatLine("Thunk Map");
 1769     AutoIndent Indent2(P);
 1771       P.formatLine("{0:x8}", Addr);
 1777     P.formatLine("Section Offsets");
 1778     AutoIndent Indent2(P);
 1780       P.formatLine("{0:x4}:{1:x8}", uint16_t(SO.Isect), uint32_t(SO.Off));
 1795     P.printLine("GSI Header");
 1796     AutoIndent Indent(P);
 1797     P.formatLine("sig = {0:X}, hdr = {1:X}, hr size = {2}, num buckets = {3}",
 1803     P.printLine("Records");
 1806     MinimalSymbolDumper Dumper(P, opts::dump::DumpSymRecordBytes, Ids, Types);
 1826     P.formatLine("Hash Entries");
 1828       AutoIndent Indent2(P);
 1830         P.formatLine("off = {0}, refcnt = {1}", uint32_t(HR.Off),
 1834     P.formatLine("Hash Buckets");
 1836       AutoIndent Indent2(P);
 1838         P.formatLine("{0:x8}", Hash);
 1868   printHeader(P, Label);
 1880   AutoIndent Indent(P);
 1886     P.printLine(toString(ExpectedHeaders.takeError()));
 1893     P.NewLine();
 1894     P.formatLine("SECTION HEADER #{0}", I);
 1895     P.formatLine("{0,8} name", Header.Name);
 1896     P.formatLine("{0,8:X-} virtual size", uint32_t(Header.VirtualSize));
 1897     P.formatLine("{0,8:X-} virtual address", uint32_t(Header.VirtualAddress));
 1898     P.formatLine("{0,8:X-} size of raw data", uint32_t(Header.SizeOfRawData));
 1899     P.formatLine("{0,8:X-} file pointer to raw data",
 1901     P.formatLine("{0,8:X-} file pointer to relocation table",
 1903     P.formatLine("{0,8:X-} file pointer to line numbers",
 1905     P.formatLine("{0,8:X-} number of relocations",
 1907     P.formatLine("{0,8:X-} number of line numbers",
 1909     P.formatLine("{0,8:X-} flags", uint32_t(Header.Characteristics));
 1910     AutoIndent IndentMore(P, 9);
 1911     P.formatLine("{0}", formatSectionCharacteristics(
 1912                             P.getIndentLevel(), Header.Characteristics, 1, ""));
 1919   printHeader(P, "Section Contributions");
 1931   AutoIndent Indent(P);
 1958   Visitor V(P, makeArrayRef(Names));
 1964   printHeader(P, "Section Map");
 1976   AutoIndent Indent(P);
 1983     P.formatLine(
 1986     P.formatLine("               class = {0}, offset = {1}, size = {2}",
 1988     P.formatLine("               flags = {0}",
 1990                      P.getIndentLevel() + 13,