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
Converts to this type from the input type.
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 · sourcefn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more