Expand description
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.
Re-exports§
Modules§
- constants
- Constant definitions.
- leb128
- Read and write DWARF’s “Little Endian Base 128” (LEB128) variable length integer encoding.
- read
- Read DWARF debugging information.
- write
- Write DWARF debugging information.
Structs§
- AArch64
- ARM 64-bit (AArch64) architecture specific definitions.
- Arm
- ARM architecture specific definitions.
- BigEndian
- Big endian byte order.
- Debug
Abbrev Offset - An offset into the
.debug_abbrev
section. - Debug
Addr Base - An offset to a set of entries in the
.debug_addr
section. - Debug
Addr Index - An index into a set of addresses in the
.debug_addr
section. - Debug
Aranges Offset - An offset into the
.debug_aranges
section. - Debug
Frame Offset - An offset into the
.debug_frame
section. - Debug
Info Offset - An offset into the
.debug_info
section. - Debug
Line Offset - An offset into the
.debug_line
section. - Debug
Line StrOffset - An offset into the
.debug_line_str
section. - Debug
LocLists Base - An offset to a set of location list offsets in the
.debug_loclists
section. - Debug
LocLists Index - An index into a set of location list offsets in the
.debug_loclists
section. - Debug
Macinfo Offset - An offset into the
.debug_macinfo
section. - Debug
Macro Offset - An offset into the
.debug_macro
section. - Debug
RngLists Base - An offset to a set of range list offsets in the
.debug_rnglists
section. - Debug
RngLists Index - An index into a set of range list offsets in the
.debug_rnglists
section. - Debug
StrOffset - An offset into the
.debug_str
section. - Debug
StrOffsets Base - An offset to a set of entries in the
.debug_str_offsets
section. - Debug
StrOffsets Index - An index into a set of entries in the
.debug_str_offsets
section. - Debug
Type Signature - A type signature as used in the
.debug_types
section. - Debug
Types Offset - An offset into the
.debug_types
section. - DwoId
- An optionally-provided implementation-defined compilation unit ID to enable split DWARF and linking a split compilation unit back together.
- EhFrame
Offset - An offset into the
.eh_frame
section. - Encoding
- Encoding parameters that are commonly used for multiple DWARF sections.
- Line
Encoding - Encoding parameters for a line number program.
- Little
Endian - Little endian byte order.
- Location
Lists Offset - An offset into either the
.debug_loc
section or the.debug_loclists
section, depending on the version of the unit the offset was contained in. - Loong
Arch - LoongArch architecture specific definitions.
- MIPS
- MIPS architecture specific definitions.
- Power
Pc64 - PowerPC 64bit
- Range
Lists Offset - An offset into either the
.debug_ranges
section or the.debug_rnglists
section, depending on the version of the unit the offset was contained in. - RawRange
Lists Offset - An offset into either the
.debug_ranges
section or the.debug_rnglists
section, depending on the version of the unit the offset was contained in. - Register
- A DWARF register number.
- RiscV
- RISC-V architecture specific definitions.
- X86
- Intel i386 architecture specific definitions.
- X86_64
- AMD64 architecture specific definitions.
Enums§
- Dwarf
File Type - The “type” of file with DWARF debugging information. This determines, among other things, which files DWARF sections should be loaded from.
- Format
- Whether the format of a compilation unit is 32- or 64-bit.
- RunTime
Endian - Byte order that is selectable at runtime.
- Section
Id - An identifier for a DWARF section.
- Unit
Section Offset - An offset into the
.debug_info
or.debug_types
sections. - Vendor
- Which vendor extensions to support.
Traits§
- Clone
Stable Deref - 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.
- Stable
Deref - 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.
Type Aliases§
- Native
Endian - The native endianity for the target platform.