| Name | Description |
|---|---|
AnnotationSym | |
AppendingTypeTableBuilder | |
ArgListRecord | |
ArrayRecord | |
BPRelativeSym | |
BaseClassRecord | |
BinaryAnnotationIterator | |
BitFieldRecord | |
BlockSym | |
BuildInfoRecord | |
BuildInfoSym | |
CPURegister | |
CVMemberRecord | |
CVRecord | CVRecord is a fat pointer (base + size pair) to a symbol or type record. Carrying the size separately instead of trusting the size stored in the record prefix provides some extra safety and flexibility. |
CVSymbolDumper | Dumper for CodeView symbol streams found in COFF object files and PDB files. |
CVSymbolVisitor | |
CallSiteInfoSym | |
CallerSym | |
ClassRecord | |
CodeViewError | Base class for errors originating when parsing raw PDB files |
CodeViewRecordIO | |
CodeViewRecordStreamer | |
CoffGroupSym | |
ColumnInfo | |
ColumnNumberEntry | |
Compile2Sym | |
Compile3Sym | |
ConstantSym | |
ContinuationRecordBuilder | |
CrossModuleExport | |
CrossModuleImport | |
CrossModuleImportItem | |
DataMemberRecord | |
DataSym | |
DebugChecksumsSubsection | |
DebugChecksumsSubsectionRef | |
DebugCrossModuleExportsSubsection | |
DebugCrossModuleExportsSubsectionRef | |
DebugCrossModuleImportsSubsection | |
DebugCrossModuleImportsSubsectionRef | |
DebugFrameDataSubsection | |
DebugFrameDataSubsectionRef | |
DebugInfo | |
DebugInlineeLinesSubsection | |
DebugInlineeLinesSubsectionRef | |
DebugLinesSubsection | |
DebugLinesSubsectionRef | |
DebugStringTableSubsection | Represents a read-write view of a CodeView string table. DebugStringTableSubsection owns the underlying storage for the table, and is capable of serializing the string table into a format understood by DebugStringTableSubsectionRef. |
DebugStringTableSubsectionRef | Represents a read-only view of a CodeView string table. This is a very simple flat buffer consisting of null-terminated strings, where strings are retrieved by their offset in the buffer. DebugStringTableSubsectionRef does not own the underlying storage for the buffer. |
DebugSubsection | |
DebugSubsectionHeader | |
DebugSubsectionRecord | |
DebugSubsectionRecordBuilder | |
DebugSubsectionRef | |
DebugSubsectionVisitor | |
DebugSymbolRVASubsection | |
DebugSymbolRVASubsectionRef | |
DebugSymbolsSubsection | |
DebugSymbolsSubsectionRef | |
DebugUnknownSubsectionRef | |
DecodedAnnotation | |
DefRangeFramePointerRelFullScopeSym | |
DefRangeFramePointerRelHeader | |
DefRangeFramePointerRelSym | |
DefRangeRegisterHeader | |
DefRangeRegisterRelHeader | |
DefRangeRegisterRelIndirHeader | |
DefRangeRegisterRelIndirSym | S_DEFRANGE_REGISTER_REL_INDIR |
DefRangeRegisterRelSym | |
DefRangeRegisterSym | |
DefRangeSubfieldRegisterHeader | |
DefRangeSubfieldRegisterSym | |
DefRangeSubfieldSym | |
DefRangeSym | |
EndPrecompRecord | |
EnumRecord | |
EnumeratorRecord | |
EnvBlockSym | |
ExportSym | |
FieldListDeserializer | |
FieldListRecord | |
FileChecksumEntry | |
FileStaticSym | |
FrameCookieSym | |
FrameData | Data in the SUBSEC_FRAMEDATA subection. |
FrameProcSym | |
FuncIdRecord | |
FunctionId | |
GUID | This represents the 'GUID' type from windows.h. |
GlobalTypeTableBuilder | |
GloballyHashedType | A globally hashed type represents a hash value that is sufficient to uniquely identify a record across multiple type streams or type sequences. This works by, for any given record A which references B, replacing the TypeIndex that refers to B with a previously-computed global hash for B. As this is a recursive algorithm (e.g. the global hash of B also depends on the global hashes of the types that B refers to), a global hash can uniquely identify that A occurs in another stream that has a completely different graph structure. Although the hash itself is slower to compute, probing is much faster with a globally hashed type, because the hash itself is considered "as good as" the original type. Since type records can be quite large, this makes the equality comparison of the hash much faster than equality comparison of a full record. |
HeapAllocationSiteSym | |
HotPatchFuncSym | |
InlineSiteSym | |
InlineeSourceLine | |
InlineeSourceLineHeader | |
JumpTableSym | |
LabelRecord | |
LabelSym | |
LazyRandomTypeCollection | Provides amortized O(1) random access to a CodeView type stream. Normally to access a type from a type stream, you must know its byte offset into the type stream, because type records are variable-lengthed. However, this is not the way we prefer to access them. For example, given a symbol record one of the fields may be the TypeIndex of the symbol's type record. Or given a type record such as an array type, there might be a TypeIndex for the element type. Sequential access is perfect when we're just dumping every entry, but it's very poor for real world usage. |
Line | |
LineBlockFragmentHeader | |
LineColumnEntry | |
LineColumnExtractor | |
LineFragmentHeader | |
LineInfo | |
LineNumberEntry | |
ListContinuationRecord | LF_INDEX - Used to chain two large LF_FIELDLIST or LF_METHODLIST records together. The first will end in an LF_INDEX record that points to the next. |
LocalSym | |
LocalVariableAddrGap | |
LocalVariableAddrRange | |
LocallyHashedType | A locally hashed type represents a straightforward hash code of a serialized record. The record is simply serialized, and then the bytes are hashed by a standard algorithm. This is sufficient for the case of de-duplicating records within a single sequence of types, because if two records both have a back-reference to the same type in the same stream, they will both have the same numeric value for the TypeIndex of the back reference. |
MemberAttributes | Equvalent to CV_fldattr_t in cvinfo.h. |
MemberFuncIdRecord | |
MemberFunctionRecord | |
MemberPointerInfo | |
MergingTypeTableBuilder | |
MethodOverloadListRecord | |
ModifierRecord | |
NestedTypeRecord | |
ObjNameSym | |
OneMethodRecord | |
OverloadedMethodRecord | For method overload sets. LF_METHOD |
PCHMergerInfo | Used to forward information about PCH.OBJ (precompiled) files, when applicable. |
PDB20DebugInfo | |
PDB70DebugInfo | |
PointerRecord | |
PrecompRecord | |
ProcRefSym | |
ProcSym | |
ProcedureRecord | |
PublicSym32 | |
PublicSym32Header | |
RecordPrefix | |
RegRelativeIndirSym | S_REGREL32_INDIR |
RegRelativeSym | |
RegisterSym | |
ScopeEndSym | |
SectionSym | |
SimpleTypeSerializer | |
StaticDataMemberRecord | |
StringIdRecord | |
StringListRecord | |
StringsAndChecksums | |
StringsAndChecksumsRef | |
SymbolDeserializer | |
SymbolDumpDelegate | |
SymbolRecord | |
SymbolRecordMapping | |
SymbolSerializer | |
SymbolVisitorCallbackPipeline | |
SymbolVisitorCallbacks | |
SymbolVisitorDelegate | |
TagRecord | |
ThreadLocalDataSym | |
Thunk32Sym | |
TiReference | |
TrampolineSym | |
TypeCollection | |
TypeDeserializer | |
TypeDumpVisitor | Dumper for CodeView type streams found in COFF object files and PDB files. |
TypeIndex | A 32-bit type reference. Types are indexed by their order of appearance in .debug$T plus 0x1000. Type indices less than 0x1000 are "simple" types, composed of a SimpleTypeMode byte followed by a SimpleTypeKind byte. |
TypeIndexOffset | |
TypeRecord | |
TypeRecordMapping | |
TypeServer2Record | |
TypeSymbolEmitter | |
TypeTableCollection | |
TypeVisitorCallbackPipeline | |
TypeVisitorCallbacks | |
UDTSym | |
UdtModSourceLineRecord | |
UdtSourceLineRecord | |
UnionRecord | |
UsingNamespaceSym | |
VFPtrRecord | |
VFTableRecord | |
VFTableShapeRecord | |
VirtualBaseClassRecord | |
serialize_array_impl | |
serialize_arrayref_tail_impl | |
serialize_conditional_impl | |
serialize_null_term_string_array_impl | |
serialize_numeric_impl | |
serialize_vector_tail_impl |
| Name |
|---|
CVSymbol |
CVSymbolArray |
CVType |
CVTypeArray |
CVTypeRange |
DebugSubsectionArray |
| Name | Description |
|---|---|
Unnamed enum | |
Unnamed enum | Limit on the size of all codeview symbol and type records, including the RecordPrefix. MSVC does not emit any records larger than this. |
Unnamed enum | |
BinaryAnnotationsOpCode | |
CPUType | These values correspond to the CV_CPU_TYPE_e enumeration, and are documented here: https://msdn.microsoft.com/en-us/library/b2fc64ek.aspx |
CallingConvention | These values correspond to the CV_call_e enumeration, and are documented at the following locations: https://msdn.microsoft.com/en-us/library/b2fc64ek.aspx https://msdn.microsoft.com/en-us/library/windows/desktop/ms680207(v=vs.85).aspx |
ClassOptions | |
CodeViewContainer | |
CompileSym2Flags | Corresponds to COMPILESYM2::Flags bitfield. |
CompileSym3Flags | Corresponds to COMPILESYM3::Flags bitfield. |
ContinuationRecordKind | |
DebugSubsectionKind | |
EncodedFramePtrReg | Two-bit value indicating which register is the designated frame pointer register. Appears in the S_FRAMEPROC record flags. |
ExportFlags | |
FileChecksumKind | |
FrameCookieKind | |
FrameProcedureOptions | |
FunctionOptions | |
GlobalTypeHashAlg | |
HfaKind | |
InlineeLinesSignature | |
JumpTableEntrySize | |
LabelType | Equivalent to CV_LABEL_TYPE_e. |
LineFlags | |
LocalSymFlags | Corresponds to CV_LVARFLAGS bitfield. |
MemberAccess | Source-level access specifier. (CV_access_e) |
MethodKind | Part of member attribute flags. (CV_methodprop_e) |
MethodOptions | Equivalent to CV_fldattr_t bitfield. |
ModifierOptions | Equivalent to CV_modifier_t. TODO: Add flag for _Atomic modifier |
PointerKind | Equivalent to CV_ptrtype_e. |
PointerMode | Equivalent to CV_ptrmode_e. |
PointerOptions | Equivalent to misc lfPointerAttr bitfields. |
PointerToMemberRepresentation | Equivalent to CV_pmtype_e. |
ProcSymFlags | Corresponds to the CV_PROCFLAGS bitfield. |
PublicSymFlags | Corresponds to the CV_PUBSYMFLAGS bitfield. |
RegisterId | |
SimpleTypeKind | |
SimpleTypeMode | |
SourceLanguage | These values correspond to the CV_CFL_LANG enumeration in the Microsoft Debug Interface Access SDK, and are documented here: https://learn.microsoft.com/en-us/visualstudio/debugger/debug-interface-access/cv-cfl-lang |
SymbolKind | Duplicate copy of the above enum, but using the official CV names. Useful for reference purposes and when dealing with unknown record types. |
SymbolRecordKind | Distinguishes individual records in the Symbols subsection of a .debug$S section. Equivalent to SYM_ENUM_e in cvinfo.h. |
ThunkOrdinal | These values correspond to the THUNK_ORDINAL enumeration. |
TiRefKind | |
TrampolineType | |
TypeLeafKind | Duplicate copy of the above enum, but using the official CV names. Useful for reference purposes and when dealing with unknown record types. |
TypeRecordKind | Distinguishes individual records in .debug\(T or .debug\)P section or PDB type stream. The documentation and headers talk about this as the "leaf" type. |
VFTableSlotKind | |
VisitorDataSource | |
WindowsRTClassKind | |
cv_error_code |
| Name | Description |
|---|---|
CVErrorCategory | |
alignOf | |
computeTypeName | |
consume | consume overloads |
consume_numeric | Decodes a numeric leaf value that is known to be a particular type. |
decodeFramePtrReg | |
discoverTypeIndices | |
discoverTypeIndicesInSymbol | Discover type indices in symbol records. Returns false if this is an unknown record. |
encodeFramePtrReg | |
fmt_guid | |
forEachCodeViewRecord | |
getBytesAsCString | |
getBytesAsCharacters | Reinterpret a byte array as an array of characters. Does not interpret as a C string, as StringRef has several helpers (split) that make that easy. |
getCPUTypeNames | |
getCallingConventions | |
getClassOptionNames | |
getCompileSym2FlagNames | |
getCompileSym3FlagNames | |
getExportSymFlagNames | |
getFileChecksumNames | |
getFrameCookieKindNames | |
getFrameProcSymFlagNames | |
getFunctionOptionEnum | |
getImageSectionCharacteristicNames | |
getJumpTableEntrySizeNames | |
getLabelTypeEnum | |
getLocalFlagNames | |
getMemberAccessNames | |
getMemberKindNames | |
getMethodOptionNames | |
getModifiedType | Given a CVType which is assumed to be an LF_MODIFIER, return the TypeIndex of the type that the LF_MODIFIER modifies. |
getModuleSubstreamKindNames | |
getProcSymFlagNames | |
getPtrKindNames | |
getPtrMemberRepNames | |
getPtrModeNames | |
getPublicSymFlagNames | |
getRegisterNames | |
getScopeEndOffset | Given a symbol P for which symbolOpensScope(P) == true, return the corresponding end offset. |
getScopeParentOffset | |
getSizeInBytesForTypeIndex | Given an arbitrary codeview type index, determine its size. |
getSizeInBytesForTypeRecord | Given an arbitrary codeview type, return the type's size in the case of aggregate (LF_STRUCTURE, LF_CLASS, LF_INTERFACE, LF_UNION). |
getSourceLanguageNames | |
getSymbolName | |
getSymbolTypeNames | |
getThunkOrdinalNames | |
getTrampolineNames | |
getTypeLeafNames | |
getTypeModifierNames | |
isAggregate | Given an arbitrary codeview type, determine if it is an LF_STRUCTURE, LF_CLASS, LF_INTERFACE, LF_UNION. |
isIdRecord | Return true if this record should be in the IPI stream of a PDB. In an object file, these record kinds will appear mixed into the .debug$T section. |
isUdtForwardRef | Given an arbitrary codeview type, determine if it is an LF_STRUCTURE, LF_CLASS, LF_INTERFACE, LF_UNION, or LF_ENUM with the forward ref class option. |
limitSymbolArrayToScope | |
make_error_code | |
mergeIdRecords | Merge one set of id records into another. This method assumes that all records are id records, and there are no Type records present. However, since Id records can refer back to Type records, this method assumes that the referenced type records have also been merged into another type stream (for example using the above method), and accepts the mapping from source to dest for that stream so that it can re-write the type record mappings accordingly. |
mergeTypeAndIdRecords | Merge a unified set of type and id records, splitting them into separate output streams. |
mergeTypeRecords | Merge one set of type records into another. This method assumes that all records are type records, and there are no Id records present. |
operator& | Bitwise conjunction operators |
operator&= | Bitwise conjunction assignment operators |
operator+ | Addition operator |
operator- | Subtraction operators |
operator| | Bitwise disjunction operators |
operator|= | Bitwise disjunction assignment operators |
operator~ | Bitwise negation operators |
printTypeIndex | |
readCVRecordFromStream | Read a complete record from a stream at a random offset. |
readSymbolFromStream | |
serialize_array | |
serialize_array_tail | |
serialize_conditional | |
serialize_null_term_string_array | |
serialize_numeric | |
symbolEndsScope | Return true if this ssymbol ends a scope. |
symbolOpensScope | Return true if this symbol opens a scope. This implies that the symbol has "parent" and "end" fields, which contain the offset of the S_END or S_INLINESITE_END record. |
visitDebugSubsection | |
visitDebugSubsections | |
visitMemberRecord | |
visitMemberRecordStream | |
visitTypeRecord | |
visitTypeStream | |
operator<< | Stream insertion operator |
operator== | Equality operators |
operator!= | Inequality operators |
operator< | Less-than operators |
operator<= | Less-than-or-equal operators |
operator> | Greater-than operators |
operator>= | Greater-than-or-equal operators |
| Name |
|---|
little32_t |
ulittle16_t |
ulittle32_t |