[][src]Crate 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 the std library. Disabling this feature allows using gimli in embedded environments that do not have access to std. Note that even when std is disabled, gimli still requires an implementation of the alloc crate, and you must enable the nightly feature.

  • alloc: Nightly only. Enables usage of the unstable, nightly-only #![feature(alloc)] Rust feature that allows gimli to use boxes and collection types in a #[no_std] environment.

  • read: Enabled by default. Enables the read module. Requires either alloc or std to also be enabled.

  • write: Enabled by default. Enables the write module. Automatically enables std too.

Re-exports

pub use crate::constants::*;
pub use crate::read::*;

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

Arm

ARM architecture specific definitions.

BigEndian

Big endian byte order.

DebugAbbrevOffset

An offset into the .debug_abbrev section.

DebugAddrBase

An offset to a set of entries in the .debug_addr section.

DebugAddrIndex

An index into a set of addresses in the .debug_addr section.

DebugFrameOffset

An offset into the .debug_frame section.

DebugInfoOffset

An offset into the .debug_info section.

DebugLineOffset

An offset into the .debug_line section.

DebugLineStrOffset

An offset into the .debug_line_str section.

DebugLocListsBase

An offset to a set of location list offsets in the .debug_loclists section.

DebugLocListsIndex

An index into a set of location list offsets in the .debug_loclists section.

DebugMacinfoOffset

An offset into the .debug_macinfo section.

DebugRngListsBase

An offset to a set of range list offsets in the .debug_rnglists section.

DebugRngListsIndex

An index into a set of range list offsets in the .debug_rnglists section.

DebugStrOffset

An offset into the .debug_str section.

DebugStrOffsetsBase

An offset to a set of entries in the .debug_str_offsets section.

DebugStrOffsetsIndex

An index into a set of entries in the .debug_str_offsets section.

DebugTypeSignature

A type signature as used in the .debug_types section.

DebugTypesOffset

An offset into the .debug_types section.

EhFrameOffset

An offset into the .eh_frame section.

Encoding

Encoding parameters that are commonly used for multiple DWARF sections.

LineEncoding

Encoding parameters for a line number program.

LittleEndian

Little endian byte order.

LocationListsOffset

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.

RangeListsOffset

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.

X86

Intel i386 architecture specific definitions.

X86_64

AMD64 architecture specific definitions.

Enums

Format

Whether the format of a compilation unit is 32- or 64-bit.

RunTimeEndian

Byte order that is selectable at runtime.

SectionId

An identifier for a DWARF section.

UnitSectionOffset

An offset into the .debug_info or .debug_types sections.

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.

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.

Type Definitions

NativeEndian

The native endianity for the target platform.