pub trait Section<R>: From<R> {
fn id() -> SectionId;
fn reader(&self) -> &R
where
R: Reader;
fn section_name() -> &'static str { ... }
fn dwo_section_name() -> Option<&'static str> { ... }
fn load<F, E>(f: F) -> Result<Self, E>
where
F: FnOnce(SectionId) -> Result<R, E>,
{ ... }
fn dwp_range(&self, offset: u32, size: u32) -> Result<Self>
where
R: Reader,
{ ... }
fn lookup_offset_id(
&self,
id: ReaderOffsetId
) -> Option<(SectionId, R::Offset)>
where
R: Reader,
{ ... }
}
Expand description
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
Provided methods
fn section_name() -> &'static str
fn section_name() -> &'static str
Returns the ELF section name for this type.
fn dwo_section_name() -> Option<&'static str>
fn dwo_section_name() -> Option<&'static str>
Returns the ELF section name (if any) for this type when used in a dwo file.
Try to load the section using the given loader function.
Returns the subrange of the section that is the contribution of
a unit in a .dwp
file.
fn lookup_offset_id(&self, id: ReaderOffsetId) -> Option<(SectionId, R::Offset)> where
R: Reader,
fn lookup_offset_id(&self, id: ReaderOffsetId) -> Option<(SectionId, R::Offset)> where
R: Reader,
Returns the Reader
for this section.