pub struct Frame { /* private fields */ }
Expand description
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
sourceimpl Frame
impl Frame
sourcepub fn ip(&self) -> *mut c_void
pub fn ip(&self) -> *mut c_void
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.
sourcepub fn sp(&self) -> *mut c_void
pub fn sp(&self) -> *mut c_void
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.
sourcepub fn symbol_address(&self) -> *mut c_void
pub fn symbol_address(&self) -> *mut c_void
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.
sourcepub fn module_base_address(&self) -> Option<*mut c_void>
pub fn module_base_address(&self) -> Option<*mut c_void>
Returns the base address of the module to which the frame belongs.
Trait Implementations
sourceimpl From<Frame> for BacktraceFrame
impl From<Frame> for BacktraceFrame
sourcefn from(frame: Frame) -> BacktraceFrame
fn from(frame: Frame) -> BacktraceFrame
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
sourceimpl<T> BorrowMut<T> for T where
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
const: unstable · sourcepub fn borrow_mut(&mut self) -> &mut T
pub fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
sourceimpl<T> ToOwned for T where
T: Clone,
impl<T> ToOwned for T where
T: Clone,
type Owned = T
type Owned = T
The resulting type after obtaining ownership.
sourcepub fn to_owned(&self) -> T
pub fn to_owned(&self) -> T
Creates owned data from borrowed data, usually by cloning. Read more
sourcepub fn clone_into(&self, target: &mut T)
pub fn clone_into(&self, target: &mut T)
toowned_clone_into
)Uses borrowed data to replace owned data, usually by cloning. Read more