Struct MapsEntry

pub(in ::backtrace_rs::symbolize::gimli) struct MapsEntry { pub(in ::backtrace_rs::symbolize::gimli::parse_running_mmaps) address: (usize, usize), pub(in ::backtrace_rs::symbolize::gimli::parse_running_mmaps) offset: u64, pub(in ::backtrace_rs::symbolize::gimli::parse_running_mmaps) pathname: OsString }

Fields

address: (usize, usize)

start (inclusive) and limit (exclusive) of address range.

offset: u64

Offset into the file (or "whatever").

pathname: OsString

Usually the file backing the mapping.

Note: The man page for proc includes a note about "coordination" by using readelf to see the Offset field in ELF program headers. pnkfelix is not yet sure if that is intended to be a comment on pathname, or what form/purpose such coordination is meant to have.

There are also some pseudo-paths: "[stack]": The initial process's (aka main thread's) stack. "[stack:]": a specific thread's stack. (This was only present for a limited range of Linux verisons; it was determined to be too expensive to provide.) "[vdso]": Virtual dynamically linked shared object "[heap]": The process's heap

The pathname can be blank, which means it is an anonymous mapping obtained via mmap.

Newlines in pathname are replaced with an octal escape sequence.

The pathname may have "(deleted)" appended onto it if the file-backed path has been deleted.

Note that modifications like the latter two indicated above imply that in general the pathname may be ambiguous. (I.e. you cannot tell if the denoted filename actually ended with the text "(deleted)", or if that was added by the maps rendering.

Implementations

impl MapsEntry

fn pathname(&self) -> &OsString
fn ip_matches(&self, ip: usize) -> bool

Trait Implementations

impl Debug for MapsEntry

fn fmt(&self, f: &mut Formatter<'_>) -> Result

impl Eq for MapsEntry

fn assert_fields_are_eq(&self)

impl FromStr for MapsEntry

type Err = &'static str;
fn from_str(s: &str) -> Result<Self, Self::Err>

impl PartialEq for MapsEntry

fn eq(&self, other: &MapsEntry) -> bool

impl StructuralPartialEq for MapsEntry

Auto Trait Implementations

impl Freeze for MapsEntry

impl RefUnwindSafe for MapsEntry

impl Send for MapsEntry

impl Sync for MapsEntry

impl Unpin for MapsEntry

impl UnsafeUnpin for MapsEntry

impl UnwindSafe for MapsEntry

Blanket Implementations

impl<T> Any for MapsEntry where T: 'static + ?Sized,

fn type_id(&self) -> TypeId

impl<T> Borrow<T> for MapsEntry where T: ?Sized,

fn borrow(&self) -> &T

impl<T> BorrowMut<T> for MapsEntry where T: ?Sized,

fn borrow_mut(&mut self) -> &mut T

impl<T> From<T> for MapsEntry

fn from(t: T) -> T

Returns the argument unchanged.

impl<T> SizeHint for MapsEntry where T: ?Sized,

fn lower_bound(&self) -> usize
fn upper_bound(&self) -> Option<usize>

impl<T> SizedTypeProperties for MapsEntry

impl<T, U> Into<U> for MapsEntry where U: From<T>,

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of [From]<T> for U chooses to do.

impl<T, U> TryFrom<U> for MapsEntry 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 MapsEntry where U: TryFrom<T>,

type Error = <U as TryFrom<T>>::Error;
fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>