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 <noreply@anthropic.com>
This commit is contained in:
Henrik RydgårdandClaude Opus 5.5 committed 2026-11-11 20:12:25 +01:00
1 parent ad48b5389b
commit 539bfb95fd
1 file changed
+2
+2
View File
@@ -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);
}