llvm::DWARFContext

DWARFContext This data structure is the top level entity that deals with dwarf debug information parsing. The actual data is supplied through DWARFObj.

Synopsis

Declared in <llvm/DebugInfo/DWARF/DWARFContext.h>

class DWARFContext
    : public DIContext

Base Classes

NameDescription
DIContext

Types

NameDescription
DIEsForAddress Wraps the returned DIEs for a given address.
DWARFContextState DWARFContextState This structure contains all member variables for DWARFContext that need to be protected in multi-threaded environments. Threading support can be enabled by setting the ThreadSafe to true when constructing a DWARFContext to allow DWARRContext to be able to be used in a multi-threaded environment, or not enabled to allow for maximum performance in single threaded environments.

Type Aliases

Name
compile_unit_range
unit_iterator_range

Enums

NameDescription
DIContextKind Concrete debug-info backend implemented by this context.
ProcessDebugRelocations

Member Functions

NameDescription
DWARFContext [constructor]Constructors
~DWARFContext [destructor] [virtual]Destructor
operator= [deleted]Copy assignment operator
clearLineTableForUnit
compile_units Get compile units in this context.
dump Dump a textual representation to OS. If any DumpOffsets are present, dump only the record at the specified offset.
dwo_compile_units Get compile units in the DWO context.
dwo_info_section_units Get units from .debug_info..dwo in the DWO context.
dwo_types_section_units Get units from .debug_types.dwo in the DWO context.
dwo_units Get all units in the DWO context.
getAppleNames Get a reference to the parsed accelerator table object.
getAppleNamespaces Get a reference to the parsed accelerator table object.
getAppleObjC Get a reference to the parsed accelerator table object.
getAppleTypes Get a reference to the parsed accelerator table object.
getArch
getCUAddrSize Get address size from CUs. TODO: refactor compile_units() to make this const.
getCUIndex
getCompileUnitForCodeAddress Return the compile unit which contains instruction with provided address. TODO: change input parameter from "uint64_t Address" into "SectionedAddress Address"
getCompileUnitForDataAddress Return the compile unit which contains data with the provided address. Note: This is more expensive than getCompileUnitForAddress, as if Address isn't found in the CU ranges (which is cheap), then it falls back to an expensive O(n) walk of all CU's looking for data that spans the address. TODO: change input parameter from "uint64_t Address" into "SectionedAddress Address"
getCompileUnitForOffset Return the compile unit that includes an offset (relative to .debug_info).
getDIEForOffset Get a DIE given an exact offset.
getDIEsForAddress Get the compilation unit, the function DIE and lexical block DIE for the given address where applicable. TODO: change input parameter from "uint64_t Address" into "SectionedAddress Address"
getDWARFObj
getDWOCompileUnitForHash
getDWOContext
getDWOUnitAtIndex Get the unit at the specified index for the DWO units.
getDWOUnitsVector
getDebugAbbrev Get a pointer to the parsed DebugAbbrev object.
getDebugAbbrevDWO Get a pointer to the parsed dwo abbreviations object.
getDebugAranges Get a pointer to the parsed DebugAranges object.
getDebugFrame Get a pointer to the parsed frame information object.
getDebugLoc Get a pointer to the parsed DebugLoc object.
getDebugMacinfo Get a pointer to the parsed DebugMacinfo information object.
getDebugMacinfoDWO Get a pointer to the parsed DebugMacinfoDWO information object.
getDebugMacro Get a pointer to the parsed DebugMacro information object.
getDebugMacroDWO Get a pointer to the parsed DebugMacroDWO information object.
getDebugNames Get a reference to the parsed accelerator table object.
getEHFrame Get a pointer to the parsed eh frame information object.
getGdbIndex
getInliningInfoForAddress [virtual]
getKind
getLineInfoForAddress [virtual]
getLineInfoForAddressRange [virtual]
getLineInfoForDataAddress [virtual]
getLineStringExtractor
getLineTableForUnit getLineTableForUnit overloads
getLocalsForAddress [virtual]
getMaxDWOVersion
getMaxVersion
getNormalUnitsVector
getNumCompileUnits Get the number of compile units in this context.
getNumDWOCompileUnits Get the number of compile units in the DWO context.
getNumDWOTypeUnits Get the number of type units in the DWO context.
getNumTypeUnits Get the number of type units in this context.
getParseCUTUIndexManually Returns whether CU/TU should be populated manually. TU Index populated manually only for DWARF5.
getRecoverableErrorHandler
getStringDWOExtractor
getStringExtractor
getTUIndex
getTypeUnitForHash
getUnitAtIndex Get the unit at the specified index.
getUnitForOffset Return the DWARF unit that includes an offset (relative to .debug_info).
getWarningHandler
info_section_units Get units from .debug_info in this context.
isDWP Return true of this DWARF context is a DWP file.
isLittleEndian
normal_units Get all normal compile/type units in this context.
setMaxVersionIfGreater
setParseCUTUIndexManually Sets whether CU/TU should be populated manually. TU Index populated manually only for DWARF5.
types_section_units Get units from .debug_types in this context.
verify [virtual]

Static Member Functions

Name
checkAddressSizeSupported
classof
create
getMaxSupportedVersion
getSupportedAddressSizes
isAddressSizeSupported
isSupportedVersion

Friends

NameDescription
llvm::DWARFContext::DWARFContextStateDWARFContextState This structure contains all member variables for DWARFContext that need to be protected in multi-threaded environments. Threading support can be enabled by setting the ThreadSafe to true when constructing a DWARFContext to allow DWARRContext to be able to be used in a multi-threaded environment, or not enabled to allow for maximum performance in single threaded environments.

Non-Member Functions

NameDescription
getDWARFUnitIndexReturn the CU or TU index table for section kind Kind.