stack trace uses saved registers, aka more useful stacktraces

This commit is contained in:
Zoe
2023-11-25 22:36:06 -06:00
parent b16f2152c2
commit 749ee0a0ba
18 changed files with 132 additions and 35152 deletions

View File

@@ -7,12 +7,8 @@ struct StackFrame {
rip: u64,
}
pub fn print_stack_trace(max_frames: usize) {
let mut stackframe: *const StackFrame;
unsafe {
core::arch::asm!("mov {0:r}, rbp", out(reg) stackframe);
};
pub fn print_stack_trace(max_frames: usize, rbp: u64) {
let mut stackframe = rbp as *const StackFrame;
crate::println!("Stack Trace:");
for _frame in 0..max_frames {