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]

impl Debug for Frame[src]

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]

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

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

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

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

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

type Owned = T

The resulting type after obtaining ownership.

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.

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.