[−]Module symbolic::debuginfo::dwarf::gimli
gimli
is a library for reading and writing the
DWARF debugging format.
See the read and write modules for examples and API documentation.
Cargo Features
Cargo features that can be enabled with gimli
:
-
std
: Enabled by default. Use thestd
library. Disabling this feature allows usinggimli
in embedded environments that do not have access tostd
. Note that even whenstd
is disabled,gimli
still requires an implementation of thealloc
crate. -
read
: Enabled by default. Enables theread
module. Use ofstd
is optional. -
write
: Enabled by default. Enables thewrite
module. Always uses thestd
library.
Modules
constants | Constant definitions. |
leb128 | Read and write DWARF's "Little Endian Base 128" (LEB128) variable length integer encoding. |
read | Read DWARF debugging information. |
Structs
Abbreviation | An abbreviation describes the shape of a |
Abbreviations | A set of type abbreviations. |
ArangeEntry | A single parsed arange. |
ArangeEntryIter | An iterator over the aranges from a |
Arm | ARM architecture specific definitions. |
Attribute | An attribute in a |
AttributeSpecification | The description of an attribute in an abbreviated type. It is a pair of name and form. |
AttrsIter | An iterator over a particular entry's attributes. |
Augmentation | We support the z-style augmentation defined by |
BaseAddresses | Optional base addresses for the relative |
BigEndian | Big endian byte order. |
CallFrameInstructionIter | A lazy iterator parsing call frame instructions. |
CfiEntriesIter | An iterator over CIE and FDE entries in a |
CommonInformationEntry |
|
CompilationUnitHeader | The header of a compilation unit's debugging information. |
CompilationUnitHeadersIter | An iterator over the compilation- and partial-units of a section. |
CompleteLineProgram | A line number program that has previously been run to completion. |
DebugAbbrev | The |
DebugAbbrevOffset | An offset into the |
DebugAddr | The raw contents of the |
DebugAddrBase | An offset to a set of entries in the |
DebugAddrIndex | An index into a set of addresses in the |
DebugAranges | The |
DebugFrame |
|
DebugFrameOffset | An offset into the |
DebugInfo | The |
DebugInfoOffset | An offset into the |
DebugLine | The |
DebugLineOffset | An offset into the |
DebugLineStr | The |
DebugLineStrOffset | An offset into the |
DebugLoc | The raw contents of the |
DebugLocLists | The |
DebugLocListsBase | An offset to a set of location list offsets in the |
DebugLocListsIndex | An index into a set of location list offsets in the |
DebugMacinfoOffset | An offset into the |
DebugMacroOffset | An offset into the |
DebugPubNames | The |
DebugPubTypes | The |
DebugRanges | The raw contents of the |
DebugRngLists | The |
DebugRngListsBase | An offset to a set of range list offsets in the |
DebugRngListsIndex | An index into a set of range list offsets in the |
DebugStr | The |
DebugStrOffset | An offset into the |
DebugStrOffsets | The raw contents of the |
DebugStrOffsetsBase | An offset to a set of entries in the |
DebugStrOffsetsIndex | An index into a set of entries in the |
DebugTypeSignature | A type signature as used in the |
DebugTypes | The |
DebugTypesOffset | An offset into the |
DebuggingInformationEntry | A Debugging Information Entry (DIE). |
DwAccess | The encodings of the constants used in the |
DwAddr | The encodings of the constants used in the |
DwAt | The attribute encodings for DIE attributes. |
DwAte | The encodings of the constants used in the |
DwCc | The encodings of the constants used in the |
DwCfa | The opcode for a call frame instruction. |
DwChildren | The child determination encodings for DIE attributes. |
DwDefaulted | The encodings of the constants used in the |
DwDs | The encodings of the constants used in the |
DwDsc | The encodings of the constants used in the |
DwEhPe | Pointer encoding used by |
DwEnd | The encodings of the constants used in the |
DwForm | The attribute form encodings for DIE attributes. |
DwId | The encodings of the constants used in the |
DwIdx | Name index attribute encodings. |
DwInl | The encodings of the constants used in the |
DwLang | The encodings of the constants used in the |
DwLle | The encodings of the constants used in location list entries. |
DwLnct | The encodings for the line number header entry formats. |
DwLne | The encodings for the extended opcodes for line number information. |
DwLns | The encodings for the standard opcodes for line number information. |
DwMacro | The encodings for macro information entry types. |
DwOp | The encodings for DWARF expression operations. |
DwOrd | The encodings of the constants used in the |
DwRle | Range list entry encoding values. |
DwTag | The tag encodings for DIE attributes. |
DwUt | The unit type field in a unit header. |
DwVirtuality | The encodings of the constants used in the |
DwVis | The encodings of the constants used in the |
Dwarf | All of the commonly used DWARF sections, and other common information. |
EhFrame |
|
EhFrameHdr |
|
EhFrameOffset | An offset into the |
EhHdrTable | The CFI binary search table that is an optional part of the |
Encoding | Encoding parameters that are commonly used for multiple DWARF sections. |
EndianSlice | A |
EntriesCursor | A cursor into the Debugging Information Entries tree for a compilation unit. |
EntriesRaw | A raw reader of the data that defines the Debugging Information Entries. |
EntriesTree | The state information for a tree view of the Debugging Information Entries. |
EntriesTreeIter | An iterator that allows traversal of the children of an
|
EntriesTreeNode | A node in the Debugging Information Entry tree. |
Evaluation | A DWARF expression evaluator. |
Expression | The bytecode for a DWARF expression or location description. |
FileEntry | An entry in the |
FileEntryFormat | The format of a component of an include directory or file name entry. |
FrameDescriptionEntry | A |
IncompleteLineProgram | A line number program that has not been run to completion. |
LineEncoding | Encoding parameters for a line number program. |
LineInstructions | An iterator yielding parsed instructions. |
LineProgramHeader | A header for a line number program in the |
LineRow | A row in the line number program's resulting matrix. |
LineRows | Executes a |
LineSequence | A sequence within a line number program. A sequence, as defined in section 6.2.5 of the standard, is a linear subset of a line number program within which addresses are monotonically increasing. |
LittleEndian | Little endian byte order. |
LocListIter | An iterator over a location list. |
LocationListEntry | A location list entry from the |
LocationLists | The DWARF data found in |
LocationListsOffset | An offset into either the |
OperationIter | An iterator for the operations in an expression. |
ParsedEhFrameHdr |
|
PartialFrameDescriptionEntry | A partially parsed |
Piece | The description of a single piece of the result of a DWARF expression. |
PubNamesEntry | A single parsed pubname. |
PubNamesEntryIter | An iterator over the pubnames from a |
PubTypesEntry | A single parsed pubtype. |
PubTypesEntryIter | An iterator over the pubtypes from a |
Range | An address range from the |
RangeIter | An iterator for the address ranges of a |
RangeLists | The DWARF data found in |
RangeListsOffset | An offset into either the |
RawLocListIter | A raw iterator over a location list. |
RawRngListIter | A raw iterator over an address range list. |
ReaderOffsetId | An identifier for an offset within a section reader. |
Register | A DWARF register number. |
RegisterRuleIter | An unordered iterator for register rules. |
RngListIter | An iterator over an address range list. |
SectionBaseAddresses | Optional base addresses for the relative |
TypeUnitHeader | The header of a type unit's debugging information. |
TypeUnitHeadersIter | An iterator over the type-units of this |
UninitializedUnwindContext | Common context needed when evaluating the call frame unwinding information. |
Unit | All of the commonly used information for a unit in the |
UnitHeader | The common fields for the headers of compilation units and type units. |
UnitOffset | An offset into the current compilation or type unit. |
UnwindContext | An unwinding context. |
UnwindTable | The |
UnwindTableRow | A row in the virtual unwind table that describes how to find the values of the registers in the previous frame for a range of PC addresses. |
X86 | Intel i386 architecture specific definitions. |
X86_64 | AMD64 architecture specific definitions. |
Enums
AttributeValue | The value of an attribute in a |
CallFrameInstruction | A parsed call frame instruction. |
CfaRule | The canonical frame address (CFA) recovery rules. |
CieOrFde | Either a |
ColumnType | The type of column that a row is referring to. |
DieReference | A reference to a DIE, either relative to the current CU or relative to the section. |
Error | An error that occurred when parsing. |
EvaluationResult | The state of an |
Format | Whether the format of a compilation unit is 32- or 64-bit. |
LineInstruction | A parsed line number program instruction. |
Location | A single location of a piece of the result of a DWARF expression. |
Operation | A single decoded DWARF expression operation. |
Pointer | A decoded pointer. |
RawLocListEntry | A raw entry in .debug_loclists. |
RawRngListEntry | A raw entry in .debug_rnglists |
RegisterRule | An entry in the abstract CFI table that describes how to find the value of a register. |
RunTimeEndian | Byte order that is selectable at runtime. |
SectionId | An identifier for a DWARF section. |
UnitSectionOffset | An offset into the |
Value | The value of an entry on the DWARF stack. |
ValueType | The type of an entry on the DWARF stack. |
Constants
Traits
CloneStableDeref | An unsafe marker trait for types where clones deref to the same address. This has all the requirements of StableDeref, and additionally requires that after calling clone(), both the old and new value deref to the same address. For example, Rc and Arc implement CloneStableDeref, but Box and Vec do not. |
Endianity | A trait describing the endianity of some buffer. |
LineProgram | A |
Reader | A trait for reading the data from a DWARF section. |
ReaderOffset | A trait for offsets with a DWARF section. |
Section | A convenience trait for loading DWARF sections from object files. To be used like: |
StableDeref | An unsafe marker trait for types that deref to a stable address, even when moved. For example, this is implemented by Box, Vec, Rc, Arc and String, among others. Even when a Box is moved, the underlying storage remains at a fixed location. |
UnwindOffset | An offset into an |
UnwindSection | A section holding unwind information: either |
Type Definitions
CompleteLineNumberProgram | Deprecated Deprecated. |
EndianBuf | Deprecated
|
IncompleteLineNumberProgram | Deprecated Deprecated. |
LineNumberProgram | Deprecated Deprecated. |
LineNumberProgramHeader | Deprecated Deprecated. |
LineNumberRow | Deprecated Deprecated. |
LineNumberSequence | Deprecated Deprecated. |
NativeEndian | The native endianity for the target platform. |
Opcode | Deprecated Deprecated. |
OpcodesIter | Deprecated Deprecated. |
Result | The result of a parse. |
StateMachine | Deprecated Deprecated. |