diff --git a/kernel/src/utils/panic.c b/kernel/src/utils/panic.c index 3eb77d9..078d3e4 100644 --- a/kernel/src/utils/panic.c +++ b/kernel/src/utils/panic.c @@ -80,7 +80,13 @@ void panic_log_registers(cpu_state_T* state) { void panic_log_call_stack(cpu_state_T* state) { log(LOG_NONE, "Call Stack:"); stack_trace_call_stack(state->rbp); - stack_dump_call_info(state->rip, symbol_resolve_function_from_rip(g_kernel_executable->symbols, g_kernel_executable->num_symbols, state->rip)); + + symbol_T* symbol = symbol_resolve_function_from_rip(g_kernel_executable->symbols, g_kernel_executable->num_symbols, state->rip); + if (symbol != NULL) { + stack_dump_call_info(state->rip, symbol); + } else { + log(LOG_NONE, " 0x%x -> ", state->rip); + } } void panic(cpu_state_T* state, string_t message) {