Struct Cache
pub(in ::backtrace_rs::symbolize::gimli) struct Cache { pub(in ::backtrace_rs::symbolize::gimli) libraries: Vec<Library>, pub(in ::backtrace_rs::symbolize::gimli) mappings: Lru<(usize, Mapping), MAPPINGS_CACHE_SIZE> }
Fields
libraries: Vec<Library>All known shared libraries that have been loaded.
mappings: Lru<(usize, Mapping), MAPPINGS_CACHE_SIZE>Mappings cache where we retain parsed dwarf information.
This list has a fixed capacity for its entire lifetime which never increases. The
usizeelement of each pair is an index intolibrariesabove whereusize::max_value()represents the current executable. TheMappingis corresponding parsed dwarf information.Note that this is basically an LRU cache and we'll be shifting things around in here as we symbolize addresses.
Implementations
impl Cache
fn new() -> Cacheunsafe fn with_global(f: impl FnOnce(&mut Self))fn avma_to_svma(&self, addr: *const u8) -> Option<(usize, *const u8)>fn mapping_for_lib<'a>(&'a mut self, lib: usize) -> Option<(&'a mut Context<'a>, &'a Stash)>
Trait Implementations
impl Default for Cache
fn default() -> Cache
Auto Trait Implementations
impl !Freeze for Cache
impl !RefUnwindSafe for Cache
impl !Send for Cache
impl !Sync for Cache
impl Unpin for Cache
impl UnsafeUnpin for Cache
impl UnwindSafe for Cache
Blanket Implementations
impl<T> Any for Cache
where
T: 'static + ?Sized,
fn type_id(&self) -> TypeId
impl<T> Borrow<T> for Cache
where
T: ?Sized,
fn borrow(&self) -> &T
impl<T> BorrowMut<T> for Cache
where
T: ?Sized,
fn borrow_mut(&mut self) -> &mut T
impl<T> From<T> for Cache
fn from(t: T) -> TReturns the argument unchanged.
impl<T> SizeHint for Cache
where
T: ?Sized,
fn lower_bound(&self) -> usizefn upper_bound(&self) -> Option<usize>
impl<T> SizedTypeProperties for Cache
impl<T, U> Into<U> for Cache
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 Cache
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 Cache
where
U: TryFrom<T>,
type Error = <U as TryFrom<T>>::Error;fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>