pub struct StackTrace;Expand description
A structure representing a stack trace.
Implementations§
Source§impl StackTrace
impl StackTrace
Sourcepub unsafe fn dump_with(stack_frame: StackFrame) -> StResult<()>
pub unsafe fn dump_with(stack_frame: StackFrame) -> StResult<()>
Dumps the stack trace for the given PC, SP, and FP values.
§Safety
This function is marked unsafe to indicate that the caller is
responsible for validating the provided PC, SP, and FP values. Invalid
values can result in undefined behavior, including potential page
faults.
# Child-SP Return Address Call Site
0 0000005E2AEFFC00 00007FFB10CB4508 aarch64+44B0
1 0000005E2AEFFC20 00007FFB10CB45A0 aarch64+4508
2 0000005E2AEFFC40 00007FFB10CB4640 aarch64+45A0
3 0000005E2AEFFC60 00007FFB10CB46D4 aarch64+4640
4 0000005E2AEFFC90 00007FF760473B98 aarch64+46D4
5 0000005E2AEFFCB0 00007FFB8F062310 patina_stacktrace-45f5092641a5979a+3B98
6 0000005E2AEFFD10 00007FFB8FF95AEC kernel32+12310
7 0000005E2AEFFD50 0000000000000000 ntdll+75AECSourcepub unsafe fn dump() -> StResult<()>
pub unsafe fn dump() -> StResult<()>
Dumps the stack trace. This function reads the PC, SP, and FP values and attempts to dump the call stack.
§Safety
It is marked unsafe to indicate that the caller is responsible for the
validity of the PC, SP, and FP values. Invalid or corrupt machine state
can result in undefined behavior, including potential page faults.
# Child-SP Return Address Call Site
0 0000005E2AEFFC00 00007FFB10CB4508 aarch64+44B0
1 0000005E2AEFFC20 00007FFB10CB45A0 aarch64+4508
2 0000005E2AEFFC40 00007FFB10CB4640 aarch64+45A0
3 0000005E2AEFFC60 00007FFB10CB46D4 aarch64+4640
4 0000005E2AEFFC90 00007FF760473B98 aarch64+46D4
5 0000005E2AEFFCB0 00007FFB8F062310 patina_stacktrace-45f5092641a5979a+3B98
6 0000005E2AEFFD10 00007FFB8FF95AEC kernel32+12310
7 0000005E2AEFFD50 0000000000000000 ntdll+75AECAuto Trait Implementations§
impl Freeze for StackTrace
impl RefUnwindSafe for StackTrace
impl Send for StackTrace
impl Sync for StackTrace
impl Unpin for StackTrace
impl UnwindSafe for StackTrace
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more