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
pub use crate::endianity::NativeEndian;
pub use crate::endianity::NativeEndian;
pub use crate::constants::*;
pub use crate::read::*;
Modules
- Constant definitions.
- Read and write DWARF’s “Little Endian Base 128” (LEB128) variable length integer encoding.
- Read DWARF debugging information.
Structs
- ARM 64-bit (AArch64) architecture specific definitions.
- ARM architecture specific definitions.
- Big endian byte order.
- An offset into the
.debug_abbrev
section. - An offset to a set of entries in the
.debug_addr
section. - An index into a set of addresses in the
.debug_addr
section. - An offset into the
.debug_aranges
section. - An offset into the
.debug_frame
section. - An offset into the
.debug_info
section. - An offset into the
.debug_line
section. - An offset into the
.debug_line_str
section. - An offset to a set of location list offsets in the
.debug_loclists
section. - An index into a set of location list offsets in the
.debug_loclists
section. - An offset into the
.debug_macinfo
section. - An offset into the
.debug_macro
section. - An offset to a set of range list offsets in the
.debug_rnglists
section. - An index into a set of range list offsets in the
.debug_rnglists
section. - An offset into the
.debug_str
section. - An offset to a set of entries in the
.debug_str_offsets
section. - An index into a set of entries in the
.debug_str_offsets
section. - A type signature as used in the
.debug_types
section. - An offset into the
.debug_types
section. - An optionally-provided implementation-defined compilation unit ID to enable split DWARF and linking a split compilation unit back together.
- An offset into the
.eh_frame
section. - Encoding parameters that are commonly used for multiple DWARF sections.
- Encoding parameters for a line number program.
- Little endian byte order.
- 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. - LoongArch architecture specific definitions.
- 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. - 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. - A DWARF register number.
- RISC-V architecture specific definitions.
- Intel i386 architecture specific definitions.
- AMD64 architecture specific definitions.
Enums
- The “type” of file with DWARF debugging information. This determines, among other things, which files DWARF sections should be loaded from.
- Whether the format of a compilation unit is 32- or 64-bit.
- Byte order that is selectable at runtime.
- An identifier for a DWARF section.
- An offset into the
.debug_info
or.debug_types
sections.
Traits
- A trait describing the endianity of some buffer.
Type Definitions
- The native endianity for the target platform.