Trait Section

trait Section<R>: From<R>

A convenience trait for loading DWARF sections from object files. To be used like:

use gimli::{DebugInfo, EndianSlice, LittleEndian, Reader, Section};

let buf = [0x00, 0x01, 0x02, 0x03];
let reader = EndianSlice::new(&buf, LittleEndian);
let loader = |name| -> Result<_, ()> { Ok(reader) };

let debug_info: DebugInfo<_> = Section::load(loader).unwrap();

Required Methods

fn id() -> SectionId

Returns the section id for this type.

fn reader(self: &Self) -> &R
where
    R: Reader

Returns the Reader for this section.

Provided Methods

fn section_name() -> &'static str

Returns the ELF section name for this type.

fn dwo_section_name() -> Option<&'static str>

Returns the ELF section name (if any) for this type when used in a dwo file.

fn xcoff_section_name() -> Option<&'static str>

Returns the XCOFF section name (if any) for this type when used in a XCOFF file.

fn load<F, E>(f: F) -> Result<Self, E>
where
    F: FnOnce(SectionId) -> Result<R, E>

Try to load the section using the given loader function.

fn dwp_range(self: &Self, offset: u32, size: u32) -> Result<Self>
where
    R: Reader

Returns the subrange of the section that is the contribution of a unit in a .dwp file.

fn lookup_offset_id(self: &Self, id: ReaderOffsetId) -> Option<(SectionId, <R as >::Offset)>
where
    R: Reader

Returns the Reader for this section.

Implementors