Struct Object
pub struct Object<'a> { pub(in ::backtrace_rs::symbolize::gimli::elf) endian: NativeEndian, pub(in ::backtrace_rs::symbolize::gimli::elf) data: &'a [u8], pub(in ::backtrace_rs::symbolize::gimli::elf) sections: SectionTable<'a, FileHeader64<NativeEndian>>, pub(in ::backtrace_rs::symbolize::gimli::elf) strings: StringTable<'a>, pub(in ::backtrace_rs::symbolize::gimli::elf) syms: Vec<ParsedSym> }
Fields
endian: NativeEndianZero-sized type representing the native endianness.
We could use a literal instead, but this helps ensure correctness.
data: &'a [u8]The entire file data.
sections: SectionTable<'a, FileHeader64<NativeEndian>>strings: StringTable<'a>syms: Vec<ParsedSym>List of pre-parsed and sorted symbols by base address.
Implementations
impl<'a> Object<'a>
fn parse(data: &'a [u8]) -> Option<Object<'a>>fn section(&self, stash: &'a Stash, name: &str) -> Option<&'a [u8]>fn section_header(&self, name: &str) -> Option<&<FileHeader64<NativeEndian> as FileHeader>::SectionHeader>fn search_symtab(&self, addr: u64) -> Option<&[u8]>fn search_object_map(&self, _addr: u64) -> Option<(&Context<'_>, u64)>fn build_id(&self) -> Option<&'a [u8]>fn gnu_debuglink_path(&self, path: &Path) -> Option<(PathBuf, u32)>fn gnu_debugaltlink_path(&self, path: &Path) -> Option<(PathBuf, &'a [u8])>
Auto Trait Implementations
impl<'a> Freeze for Object<'a>
impl<'a> RefUnwindSafe for Object<'a>
impl<'a> Send for Object<'a>
impl<'a> Sync for Object<'a>
impl<'a> Unpin for Object<'a>
impl<'a> UnsafeUnpin for Object<'a>
impl<'a> UnwindSafe for Object<'a>
Blanket Implementations
impl<T> Any for Object<'a>
where
T: 'static + ?Sized,
fn type_id(&self) -> TypeId
impl<T> Borrow<T> for Object<'a>
where
T: ?Sized,
fn borrow(&self) -> &T
impl<T> BorrowMut<T> for Object<'a>
where
T: ?Sized,
fn borrow_mut(&mut self) -> &mut T
impl<T> From<T> for Object<'a>
fn from(t: T) -> TReturns the argument unchanged.
impl<T> SizeHint for Object<'a>
where
T: ?Sized,
fn lower_bound(&self) -> usizefn upper_bound(&self) -> Option<usize>
impl<T> SizedTypeProperties for Object<'a>
impl<T, U> Into<U> for Object<'a>
where
U: From<T>,
fn into(self) -> UCalls
U::from(self).That is, this conversion is whatever the implementation of
[From]<T> for Uchooses to do.
impl<T, U> TryFrom<U> for Object<'a>
where
U: Into<T>,
type Error = Infallible;fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>
impl<T, U> TryInto<U> for Object<'a>
where
U: TryFrom<T>,
type Error = <U as TryFrom<T>>::Error;fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>