|
reference, declaration → definition
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,