Struct Mapping

Source
pub struct Mapping {
    pub iid: Option<u64>,
    pub build_id: Option<u64>,
    pub exact_offset: Option<u64>,
    pub start_offset: Option<u64>,
    pub start: Option<u64>,
    pub end: Option<u64>,
    pub load_bias: Option<u64>,
    pub path_string_ids: Vec<u64>,
}

Fields§

§iid: Option<u64>

Interning key.

§build_id: Option<u64>

Interning key.

§exact_offset: Option<u64>

This is not set on Android 10.

§start_offset: Option<u64>§start: Option<u64>§end: Option<u64>§load_bias: Option<u64>

Libunwindstack-specific concept, not to be confused with bionic linker’s notion of load_bias. Needed to correct relative pc addresses (as produced by libunwindstack) when doing offline resymbolisation.

For an executable ELF PT_LOAD segment, this is: p_vaddr - p_offset

Where p_offset means that the code is at that offset into the ELF file on disk. While p_vaddr is the offset at which the code gets mapped, relative to where the linker loads the ELF into the address space. For most ELFs, the two values are identical and therefore load_bias is zero.

§path_string_ids: Vec<u64>

E.g. [“system”, “lib64”, “libc.so”] id of string.

Implementations§

Source§

impl Mapping

Source

pub fn iid(&self) -> u64

Returns the value of iid, or the default value if iid is unset.

Source

pub fn build_id(&self) -> u64

Returns the value of build_id, or the default value if build_id is unset.

Source

pub fn start_offset(&self) -> u64

Returns the value of start_offset, or the default value if start_offset is unset.

Source

pub fn start(&self) -> u64

Returns the value of start, or the default value if start is unset.

Source

pub fn end(&self) -> u64

Returns the value of end, or the default value if end is unset.

Source

pub fn load_bias(&self) -> u64

Returns the value of load_bias, or the default value if load_bias is unset.

Source

pub fn exact_offset(&self) -> u64

Returns the value of exact_offset, or the default value if exact_offset is unset.

Trait Implementations§

Source§

impl Clone for Mapping

Source§

fn clone(&self) -> Mapping

Returns a duplicate of the value. Read more
1.0.0 · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Debug for Mapping

Source§

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

Formats the value using the given formatter. Read more
Source§

impl Default for Mapping

Source§

fn default() -> Self

Returns the “default value” for a type. Read more
Source§

impl Message for Mapping

Source§

fn encoded_len(&self) -> usize

Returns the encoded length of the message without a length delimiter.
Source§

fn clear(&mut self)

Clears the message, resetting all fields to their default.
Source§

fn encode<B>(&self, buf: &mut B) -> Result<(), EncodeError>
where B: BufMut, Self: Sized,

Encodes the message to a buffer. Read more
Source§

fn encode_to_vec(&self) -> Vec<u8>
where Self: Sized,

Encodes the message to a newly allocated buffer.
Source§

fn encode_length_delimited<B>(&self, buf: &mut B) -> Result<(), EncodeError>
where B: BufMut, Self: Sized,

Encodes the message with a length-delimiter to a buffer. Read more
Source§

fn encode_length_delimited_to_vec(&self) -> Vec<u8>
where Self: Sized,

Encodes the message with a length-delimiter to a newly allocated buffer.
Source§

fn decode<B>(buf: B) -> Result<Self, DecodeError>
where B: Buf, Self: Default,

Decodes an instance of the message from a buffer. Read more
Source§

fn decode_length_delimited<B>(buf: B) -> Result<Self, DecodeError>
where B: Buf, Self: Default,

Decodes a length-delimited instance of the message from the buffer.
Source§

fn merge<B>(&mut self, buf: B) -> Result<(), DecodeError>
where B: Buf, Self: Sized,

Decodes an instance of the message from a buffer, and merges it into self. Read more
Source§

fn merge_length_delimited<B>(&mut self, buf: B) -> Result<(), DecodeError>
where B: Buf, Self: Sized,

Decodes a length-delimited instance of the message from buffer, and merges it into self.
Source§

impl PartialEq for Mapping

Source§

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

Tests for self and other values to be equal, and is used by ==.
1.0.0 · Source§

fn ne(&self, other: &Rhs) -> bool

Tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
Source§

impl StructuralPartialEq for Mapping

Auto Trait Implementations§

Blanket Implementations§

Source§

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

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

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

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

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

Source§

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

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

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

Source§

fn into(self) -> U

Calls U::from(self).

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

Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

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

Performs the conversion.