Struct backtrace::Frame[][src]

pub struct Frame { /* fields omitted */ }

A trait representing one frame of a backtrace, yielded to the trace function of this crate.

The tracing function’s closure will be yielded frames, and the frame is virtually dispatched as the underlying implementation is not always known until runtime.

Implementations

impl Frame[src]

pub fn ip(&self) -> *mut c_void[src]

Returns the current instruction pointer of this frame.

This is normally the next instruction to execute in the frame, but not all implementations list this with 100% accuracy (but it’s generally pretty close).

It is recommended to pass this value to backtrace::resolve to turn it into a symbol name.

pub fn sp(&self) -> *mut c_void[src]

Returns the current stack pointer of this frame.

In the case that a backend cannot recover the stack pointer for this frame, a null pointer is returned.

pub fn symbol_address(&self) -> *mut c_void[src]

Returns the starting symbol address of the frame of this function.

This will attempt to rewind the instruction pointer returned by ip to the start of the function, returning that value. In some cases, however, backends will just return ip from this function.

The returned value can sometimes be used if backtrace::resolve failed on the ip given above.

pub fn module_base_address(&self) -> Option<*mut c_void>[src]

Returns the base address of the module to which the frame belongs.

Trait Implementations

impl Clone for Frame[src]

fn clone(&self) -> Frame[src]

Returns a copy of the value. Read more

fn clone_from(&mut self, source: &Self)1.0.0[src]

Performs copy-assignment from source. Read more

impl Debug for Frame[src]

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

Formats the value using the given formatter. Read more

impl From<Frame> for BacktraceFrame[src]

fn from(frame: Frame) -> BacktraceFrame[src]

Performs the conversion.

Auto Trait Implementations

impl RefUnwindSafe for Frame

impl Send for Frame

impl Sync for Frame

impl Unpin for Frame

impl UnwindSafe for Frame

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized
[src]

pub fn type_id(&self) -> TypeId[src]

Gets the TypeId of self. Read more

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

pub fn borrow(&self) -> &T[src]

Immutably borrows from an owned value. Read more

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

pub fn borrow_mut(&mut self) -> &mut T[src]

Mutably borrows from an owned value. Read more

impl<T> From<T> for T[src]

pub fn from(t: T) -> T[src]

Performs the conversion.

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

pub fn into(self) -> U[src]

Performs the conversion.

impl<T> ToOwned for T where
    T: Clone
[src]

type Owned = T

The resulting type after obtaining ownership.

pub fn to_owned(&self) -> T[src]

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

pub fn clone_into(&self, target: &mut T)[src]

🔬 This is a nightly-only experimental API. (toowned_clone_into)

recently added

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

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

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

Performs the conversion.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

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

The type returned in the event of a conversion error.

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

Performs the conversion.