PDB types referenced by the CodeView logical‐view reader.

Types

Name

Description

AutoIndent

RAII helper that indents a line printer for the lifetime of the object.

BaseClassLayout

Layout of a base class subobject within a derived UDT.

BulkPublic

This struct is equivalent to codeview::PublicSym32, but it has been optimized for size to speed up bulk serialization and sorting operations during PDB writing.

ClassLayout

Top‐level layout of a class, struct, or union UDT.

ConcreteSymbolEnumerator

Enumerator that yields PDB symbols cast to a concrete child type.

DataMemberLayoutItem

Layout item representing a data member of a UDT.

DbiBuildNo

Bit masks and shifts for the DBI stream build number field.

DbiFlags

Bit masks for flags stored in the DBI stream header.

DbiModuleDescriptor

Descriptor for one module entry in the DBI Module Info substream.

DbiModuleDescriptorBuilder

Builds one module's DBI descriptor and its associated module symbol stream.

DbiModuleList

Parsed view of the DBI Module Info and File Info substreams.

DbiModuleSourceFilesIterator

Random‐access iterator over the source file names of one DBI module.

DbiStream

Provides read access to the PDB DBI stream (stream 3).

DbiStreamBuilder

Builds the PDB Debug Information (DBI) stream and its related substreams.

DbiStreamHeader

The fixed size header that appears at the beginning of the DBI Stream.

FileInfoSubstreamHeader

The header preceding the File Info Substream of the DBI stream.

GSIHashHeader

Header of the hash tables found in the globals and publics sections. Based on GSIHashHdr in https://github.com/Microsoft/microsoft‐pdb/blob/master/PDB/dbi/gsi.h

GSIHashIterator

Iterator over hash records producing symbol record offsets. Abstracts away the fact that symbol record offsets on disk are off‐by‐one.

GSIHashStreamBuilder

Builder for the hash tables used by the PDB publics and globals streams.

GSIHashTable

Readonly view of a GSI hash table in the globals and publics streams.

GSIStreamBuilder

Builds the PDB globals, publics, and symbol record streams.

GlobalsStream

Provides read access to the PDB globals stream hash table.

HashTable

Closed hash table used by the native PDB format to map storage keys to values.

HashTableIterator

Forward iterator over the present entries of a PDB HashTable.

IPDBDataStream

IPDBDataStream defines an interface used to represent a stream consisting of a name and a series of records whose formats depend on the particular stream type.

IPDBEnumChildren

IPDBEnumChildren defines an interface for enumerating child objects of type ChildType from a PDB or related debug data source.

IPDBFrameData

IPDBFrameData defines an interface used to represent a frame data of some code block.

IPDBInjectedSource

IPDBInjectedSource defines an interface for source files injected into a PDB.

IPDBLineNumber

IPDBLineNumber defines an interface used to represent source line number information stored in the PDB.

IPDBRawSymbol

Interface representing an arbitrary PDB symbol.

IPDBSectionContrib

IPDBSectionContrib defines an interface used to represent section contributions whose information are stored in the PDB.

IPDBSession

IPDBSession defines an interface used to provide a context for querying debug information from a debug data source (for example, a PDB).

IPDBSourceFile

IPDBSourceFile defines an interface used to represent source files whose information are stored in the PDB.

IPDBTable

IPDBTable defines an interface used to represent a table of records in a PDB whose formats depend on the particular table type.

ISectionContribVisitor

Interface for visiting section contribution records from a PDB DBI stream.

InfoStream

Provides read access to the PDB Info stream (stream 1).

InfoStreamBuilder

Builds the PDB Info stream (stream 1), including version, age, GUID, and feature signatures.

InfoStreamHeader

The header preceding the global PDB Stream (Stream 1)

InjectedSourceStream

Provides read access to the PDB /src/headerblock stream (injected sources).

InputFile

Unified view of a PDB, COFF object, or unrecognized binary for dumping.

LayoutItemBase

Base class for a field or subobject in a UDT memory layout.

LinePrinter

Formats indented, optionally colored text for dumping PDB contents.

ModInfoFlags

Bit masks and shifts for per‐module info flags.

ModuleDebugStreamRef

Provides read access to one module's debug info stream in a PDB.

ModuleInfoHeader

The header preceding each entry in the Module Info substream of the DBI stream. Corresponds to the type MODI in the reference implementation.

NamedStreamMap

Maps PDB named‐stream names to MSF stream numbers.

NamedStreamMapBuilder

Friend builder with privileged access to NamedStreamMap internals.

NamedStreamMapTraits

Hash‐table traits adapting stream names to offsets in a NamedStreamMap.

NativeCompilandSymbol

Native PDB implementation of a Compiland (module) symbol.

NativeEnumGlobals

Enumerator over global symbols from a native PDB session.

NativeEnumInjectedSources

Native enumerator over injected source files stored in a PDB.

NativeEnumLineNumbers

Native enumerator over a fixed list of PDB line‐number records.

NativeEnumModules

Native enumerator over module (compiland) symbols in a PDB.

NativeEnumSymbols

Enumerator over a fixed list of symbols from a native PDB session.

NativeEnumTypes

Enumerator over type symbols from a native PDB session.

NativeExeSymbol

Native PDB implementation of the executable (Exe) root symbol.

NativeFunctionSymbol

Native PDB symbol wrapping a CodeView procedure symbol record.

NativeInlineSiteSymbol

Native PDB representation of an inlined call site.

NativeLineNumber

Native PDB implementation of IPDBLineNumber.

NativePublicSymbol

Native PDB symbol wrapping a CodeView public symbol record.

NativeRawSymbol

Native PDB implementation of IPDBRawSymbol.

NativeSession

NativeSession is an IPDBSession backed by LLVM's native PDB reader.

NativeSourceFile

Native PDB implementation of IPDBSourceFile.

NativeSymbolEnumerator

Native PDB symbol for a single enumerator (enum constant) value.

NativeTypeArray

Native PDB implementation of an array type symbol.

NativeTypeBuiltin

Native PDB representation of a builtin (primitive) type symbol.

NativeTypeEnum

Native PDB symbol wrapping a CodeView enumeration type record.

NativeTypeFunctionSig

Native PDB representation of a function‐signature type.

NativeTypePointer

Native PDB symbol for a pointer, reference, or member‐pointer type.

NativeTypeTypedef

Native PDB symbol wrapping a CodeView typedef (UDT alias) record.

NativeTypeUDT

Native PDB representation of a user‐defined type (class, struct, or union).

NativeTypeVTShape

Native PDB implementation of a virtual table shape type symbol.

NullEnumerator

Empty enumerator that reports no children of type ChildType.

PDBContext

DIContext implementation that answers queries from PDB debug information.

PDBError

Base class for errors originating when parsing raw PDB files

PDBFile

Low‐level interface to a PDB file backed by an MSF container.

PDBFileBuilder

Builds a complete PDB file by coordinating MSF layout and stream builders.

PDBStringTable

Reader for the PDB /names string table stream.

PDBStringTableBuilder

Builds the PDB "/names" string table stream.

PDBStringTableHeader

The header preceding the /names stream.

PDBSymDumper

Visitor interface for dumping concrete PDB symbol types.

PDBSymbol

Base class for concrete PDB symbol types such as functions and executables.

PDBSymbolAnnotation

PDB symbol for an annotation attached to a code address.

PDBSymbolBlock

PDB symbol for a nested lexical code block within a function.

PDBSymbolCompiland

PDB symbol for a Compiland (compilation unit / module).

PDBSymbolCompilandDetails

PDB symbol for compiler and build details of a Compiland.

PDBSymbolCompilandEnv

PDB symbol for a compiland environment variable (name/value pair).

PDBSymbolCustom

PDB symbol for compiler‐specific data that fits nowhere else in the hierarchy.

PDBSymbolData

PDB symbol for a data item such as a variable or data member.

PDBSymbolExe

PDB symbol for an executable (Exe), the root of the PDB symbol hierarchy.

PDBSymbolFunc

PDB symbol for a function or method definition.

PDBSymbolFuncDebugEnd

PDB symbol for the end of a function's debug code range.

PDBSymbolFuncDebugStart

PDB symbol for the start of a function's debug code range.

PDBSymbolLabel

PDB symbol for a code label within a function or compiland.

PDBSymbolPublicSymbol

PDB symbol for a public (linker‐visible) symbol entry.

PDBSymbolThunk

PDB symbol for a thunk that redirects execution to another address.

PDBSymbolTypeArray

PDB symbol for an array type.

PDBSymbolTypeBaseClass

PDB symbol for a base class relationship in a UDT.

PDBSymbolTypeBuiltin

PDB symbol for a builtin (primitive) type.

PDBSymbolTypeCustom

PDB symbol for a custom (vendor‐defined) type.

PDBSymbolTypeDimension

PDB symbol for an array or matrix dimension.

PDBSymbolTypeEnum

PDB symbol for an enumeration type.

PDBSymbolTypeFriend

PDB symbol for a C++ friend declaration.

PDBSymbolTypeFunctionArg

PDB symbol for a function argument type.

PDBSymbolTypeFunctionSig

PDB symbol for a function signature type.

PDBSymbolTypeManaged

PDB symbol for a managed (CLR) type.

PDBSymbolTypePointer

PDB symbol for a pointer or reference type.

PDBSymbolTypeTypedef

PDB symbol for a typedef (type alias).

PDBSymbolTypeUDT

PDB symbol for a user‐defined type (class, struct, union, or interface).

PDBSymbolTypeVTable

PDB symbol for a class virtual function table (vtable).

PDBSymbolTypeVTableShape

PDB symbol for a vtable shape type.

PDBSymbolUnknown

PDB symbol for an unrecognized or out‐of‐range symbol tag.

PDBSymbolUsingNamespace

PDB symbol for a using‐namespace directive.

PDB_SourceCompression

Compression method used for an injected source file embedded in a PDB.

PSHashRecord

Hash record locating a symbol in the symbol record stream.

PrintScope

Holds a line printer together with indent and label‐width settings.

PublicsStream

Provides read access to the PDB publics stream and its address maps.

PublicsStreamHeader

Header of the publics stream (PSGSIHDR).

RawError

Base class for errors originating when parsing raw PDB files

SecMapEntry

One OMF segment map descriptor entry.

SecMapHeader

Header for the OMF segment map table.

SectionContrib

Section contribution describing one module's contribution to a section.

SectionContrib2

Extended section contribution that also records the COFF section index.

SectionOffset

Section and offset pair identifying a location in an image.

SrcHeaderBlockEntry

A single file record entry within the /src/headerblock stream.

SrcHeaderBlockHeader

The header preceding the /src/headerblock stream.

StringTableFixup

Represents a string table reference at some offset in the module symbol stream.

StringTableHashTraits

Hash‐table traits adapting string keys to offsets in a PDBStringTableBuilder.

SymbolCache

Cache of parsed native PDB symbols and stable symbol index IDs.

SymbolDenseMapInfo

DenseMapInfo used to deduplicate global typedef and constant symbol records.

SymbolGroup

One module (PDB) or .debug$S section (object) with its debug subsections.

SymbolGroupIterator

Forward iterator over SymbolGroup entries in an InputFile.

SymbolListWrapper

Holds merged or unmerged CodeView symbol bytes for a module.

SymbolStream

Provides read access to the PDB symbol stream of CodeView records.

TagRecordHash

Holds the full‐declaration and forward‐declaration hashes of a tag record.

TpiStream

Provides read access to the PDB Type Info (TPI) stream.

TpiStreamBuilder

Builds the PDB Type Information (TPI) or ID Information (IPI) stream.

TpiStreamHeader

Header preceding the global TPI (or IPI) stream.

UDTLayoutBase

Base class for layout information of a user‐defined type (UDT).

VBPtrLayoutItem

Layout item representing a virtual base class pointer (vbptr).

VTableLayoutItem

Layout item representing a class's vtable pointer.

Variant

Tagged union holding a scalar PDB constant value.

VersionInfo

Version number of a PDB or related component.

WithColor

Applies a PDB dump color for the lifetime of the object.

Type Aliases

Name

Description

IPDBEnumDataStreams

Enumerator over named data streams in a PDB.

IPDBEnumFrameData

Enumerator over frame data records.

IPDBEnumInjectedSources

Enumerator over injected source files embedded in a PDB.

IPDBEnumLineNumbers

Enumerator over line‐number entries.

IPDBEnumSectionContribs

Enumerator over section contributions.

IPDBEnumSourceFiles

Enumerator over source files referenced by a PDB.

IPDBEnumSymbols

Enumerator over PDB symbols.

IPDBEnumTables

Enumerator over tables exposed by a PDB session.

PDB_CallingConv

Calling convention of a function type.

PDB_Cpu

These values correspond to the CV_CPU_TYPE_e enumeration, and are documented here: https://msdn.microsoft.com/en‐us/library/b2fc64ek.aspx

PDB_Lang

These values correspond to the CV_CFL_LANG enumeration, and are documented here: https://msdn.microsoft.com/en‐us/library/bw3aekw6.aspx

SymIndexId

Unique integer identifier of a symbol within a PDB session.

TagStats

Map from PDB symbol type tags to occurrence counts.

Enums

Name

Description

Unnamed enum

GSI hash table size constants from the Microsoft PDB reference.

CharacteristicStyle

How COFF section characteristic flags are rendered as text.

DbgHeaderType

Kinds of optional debug streams indexed from the DBI stream header.

OMFSegDescFlags

Flags describing an OMF segment map descriptor entry.

PDB_BuiltinType

These values correspond to the Basictype enumeration, and are documented here: https://msdn.microsoft.com/en‐us/library/4szdtzc3.aspx

PDB_Checksum

Hash algorithm used for a source file checksum in a PDB.

PDB_ColorItem

Categories of text that can be colored when dumping PDB contents.

PDB_DataKind

These values correspond to the DataKind enumeration, and are documented here: https://msdn.microsoft.com/en‐us/library/b2x2t313.aspx

PDB_LocType

These values correspond to the LocationType enumeration, and are documented here: https://msdn.microsoft.com/en‐us/library/f57kaez3.aspx

PDB_Machine

Target machine architecture recorded in a PDB or PE image.

PDB_MemberAccess

Access level of a class or struct member.

PDB_MemoryType

These values correspond to the MemoryTypeEnum enumeration, and are documented here: https://msdn.microsoft.com/en‐us/library/ms165609.aspx.

PDB_NameSearchFlags

Flags used when enumerating child symbols by name.

PDB_ReaderType

Specifies which PDB reader implementation is to be used. Only a value of PDB_ReaderType::DIA is currently supported, but Native is in the works.

PDB_StackFrameType

These values correspond to the StackFrameTypeEnum enumeration, and are documented here: https://msdn.microsoft.com/en‐us/library/bc5207xw.aspx.

PDB_SymType

These values correspond to the SymTagEnum enumeration, and are documented here: https://msdn.microsoft.com/en‐us/library/bkedss5f.aspx

PDB_TableType

An enumeration indicating the type of data contained in this table.

PDB_UdtType

These values correspond to the UdtKind enumeration, and are documented here: https://msdn.microsoft.com/en‐us/library/wcstk66t.aspx

PDB_UndnameFlags

Flags controlling how C++ decorated names are undecorated.

PDB_VariantType

Discriminator for the active payload stored in a Variant.

PdbRaw_DbiSecContribVer

Section‐contribution substream version numbers in the DBI stream.

PdbRaw_DbiVer

DBI stream format version numbers.

PdbRaw_FeatureSig

Feature signatures appended to the PDB info stream.

PdbRaw_Features

Feature flags derived from the PDB info stream feature signatures.

PdbRaw_ImplVer

PDB file format implementation version numbers written in the info stream.

PdbRaw_SrcHeaderBlockVer

Version of the injected‐source header block in the PDB.

PdbRaw_TpiVer

TPI stream format version numbers.

PdbSymbolIdField

Bitmask selecting which symbol‐id fields to print or recurse into when dumping.

SpecialStream

Fixed stream indices reserved for the well‐known PDB streams.

pdb_error_code

Error codes for generic failures while working with PDB files.

raw_error_code

Error codes for failures while reading or writing raw PDB files.

Functions

Name

Description

PDBErrCategory

Return the error category for pdb_error_code values.

RawErrCategory

Return the error category for raw_error_code values.

dumpPDBSourceCompression

Write the name of a PDB source‐compression method to OS.

dumpSymbolField

Print an indented Name Value field on a new line of a symbol dump.

dumpSymbolIdField

Dump a named symbol‐id field, optionally recursing into the referenced symbol.

fmtle

Wrap a little‐endian packed integral so it can be passed to formatv.

formatChunkKind

Format a CodeView debug subsection kind as text.

formatSectionCharacteristics

Format a COFF section characteristics bitfield as a typeset flag list.

formatSegmentOffset

Format a segment:offset address pair as "XXXX:YYYY".

formatSymbolKind

Format a CodeView symbol kind as its enumerator name.

formatTypeLeafKind

Format a CodeView type leaf kind as its enumerator name.

formatUnknownEnum

Format an unrecognized enumerator as "unknown (N)".

getModuleDebugStream

getModuleDebugStream overloads

getOMFSegMapDescFlagNames

Return the enumerator name table for OMFSegDescFlags.

hashBufferV8

Compute the PDB V8 buffer hash (CRC‐32) of raw bytes.

hashStringV1

Compute the PDB V1 string hash used by name tables and TPI/IPI.

hashStringV2

Compute the PDB V2 string hash used by the name hash table.

hashTagRecord

Given a CVType referring to a class, structure, union, or enum, compute the hash of its forward decl and full decl.

hashTypeRecord

Compute the TPI hash for a CodeView type record.

iterateModuleSubsections

Visit each debug subsection of type SubsectionT across filtered modules.

iterateOneModule

Print a module header for SG and invoke Callback for that module.

iterateSymbolGroups

Visit each filtered symbol group in Input, invoking Callback.

loadDataForEXE

Create a PDB session by loading debug data for an executable.

loadDataForPDB

Create a PDB session by loading debug data from a PDB file.

make_error_code

make_error_code overloads

readSparseBitVector

Read a SparseBitVector from a PDB binary stream.

shouldDumpSymbolGroup

Return whether symbol group Group at index Idx should be dumped.

typesetItemList

Join strings into lines of at most GroupSize items each.

typesetStringList

Format strings as a bracketed, indented vertical list.

withLabelWidth

Return a copy of Scope with its label width set to W.

writeSparseBitVector

Write a SparseBitVector to a PDB binary stream.

operator<<

Left shift operators

Variables

Name

Description

MaxTpiHashBuckets

Maximum supported number of TPI hash buckets.

MinTpiHashBuckets

Minimum supported number of TPI hash buckets.

PDBStringTableSignature

Expected signature value for PDBStringTableHeader::Signature.

kInvalidStreamIndex

Sentinel stream index indicating that a stream is absent or unset.

Using Declarations

Name

Description

any

Bring bitmask enum any‐bits‐set test into this namespace for ADL.

operator!

Bring bitmask enum logical‐not into this namespace for ADL.

operator&

Bring bitmask enum bitwise AND into this namespace for ADL.

operator&=

Bring bitmask enum in‐place AND into this namespace for ADL.

operator<<

Bring bitmask enum left‐shift into this namespace for ADL.

operator<<=

Bring bitmask enum in‐place left‐shift into this namespace for ADL.

operator>>

Bring bitmask enum right‐shift into this namespace for ADL.

operator>>=

Bring bitmask enum in‐place right‐shift into this namespace for ADL.

operatorˆ

Bring bitmask enum bitwise XOR into this namespace for ADL.

operatorˆ=

Bring bitmask enum in‐place XOR into this namespace for ADL.

operator|

Bring bitmask enum bitwise OR into this namespace for ADL.

operator|=

Bring bitmask enum in‐place OR into this namespace for ADL.

operator~

Bring bitmask enum bitwise NOT into this namespace for ADL.

Created with MrDocs