From 539bfb95fd4f022fe807631bb3b515da53b646f0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Henrik=20Rydg=C3=A5rd?= Date: Wed, 11 Nov 2026 20:12:25 +0100 Subject: [PATCH] Keep the stack trace for bad jumps and break instructions The crash screen and crash reports read it from the exception info, which only memory, FPU and HLE errors filled in. Co-Authored-By: Claude Opus 5.5 --- Core/Core.cpp | 2 ++ 1 file changed, 2 insertions(+) diff --git a/Core/Core.cpp b/Core/Core.cpp index c1d8b35c85..1d36b8046b 100644 --- a/Core/Core.cpp +++ b/Core/Core.cpp @@ -1054,6 +1054,7 @@ void Core_ExecException(u32 address, u32 pc, ExecExceptionType type) { e.pc = pc; // This just records the closest value that could be useful as reference. e.ra = currentMIPS->r[MIPS_REG_RA]; + e.stackTrace = stackTrace; Core_Break(BreakReason::CpuException, address); } @@ -1078,6 +1079,7 @@ void Core_BreakException(u32 pc) { const std::string stackTrace = FormatStackTrace(WalkCurrentStack(-1)); Core_SendDebugOutput(LogLevel::LERROR, StringFromFormat("%s\n%s", msg, stackTrace.c_str())); + e.stackTrace = stackTrace; if (action == ExceptionAction::Break) { Core_Break(BreakReason::BreakInstruction, currentMIPS->pc); }