Skip to main content

ObjectFile

Struct ObjectFile 

Source
pub struct ObjectFile { /* private fields */ }

Implementations§

Source§

impl ObjectFile

Source

pub fn new(file: &File) -> Result<Self>

Source

pub fn from_path(path: &Path) -> Result<Self>

Source

pub fn id(&self) -> Result<ExecutableId>

Returns an identifier for the executable using the first 8 bytes of the build id.

Source

pub fn build_id(&self) -> &BuildId

Returns the executable build ID.

Source

pub fn read_build_id(object: &File<'static>) -> Result<BuildId>

Returns the executable build ID if present. If no GNU build ID and no Go build ID are found it returns the hash of the text section.

Source

pub fn has_debug_info(&self) -> bool

Returns whether the object has debug symbols.

Source

pub fn is_dynamic(&self) -> bool

Source

pub fn runtime(&self) -> Runtime

Source

pub fn is_go(&self) -> bool

Source

pub fn go_stop_unwinding_frames(&self) -> Vec<StopUnwindingFrames>

Source

pub fn elf_load_segments(&self) -> Result<Vec<ElfLoad>>

Retrieves the executable load segments. These are used to convert virtual addresses to offsets in an executable during unwinding and symbolization.

Trait Implementations§

Source§

impl Debug for ObjectFile

Source§

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

Formats the value using the given formatter. Read more

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> 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, 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.