From 1b3b93d8bb396692ea95ae4f9f42b61305ff1043 Mon Sep 17 00:00:00 2001 From: apio Date: Wed, 21 Sep 2022 21:00:15 +0200 Subject: [PATCH] StackTracer: add a trace_with_ip that prints the symbol name of the saved instruction pointer, for use in interrupts --- kernel/src/trace/StackTracer.cpp | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/kernel/src/trace/StackTracer.cpp b/kernel/src/trace/StackTracer.cpp index 40cb5202..731f2629 100644 --- a/kernel/src/trace/StackTracer.cpp +++ b/kernel/src/trace/StackTracer.cpp @@ -27,4 +27,12 @@ void StackTracer::trace() printf("%lx: %s\n", frame->instruction, symbol_name); frame = frame->next; } +} + +void StackTracer::trace_with_ip(uintptr_t ip) +{ + char symbol_name[512]; + get_symbol_name(ip, symbol_name); + printf("%lx: %s\n", ip, symbol_name); + trace(); } \ No newline at end of file