diff options
author | Mai M <mathew1800@gmail.com> | 2022-04-05 23:18:31 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2022-04-05 23:18:31 +0200 |
commit | e4c3565ebe2c6ba93dbc1e4dabe61ada6c48ad79 (patch) | |
tree | 87f9f282ba6c9450496ffb73f9937165f9120e70 /src | |
parent | Merge pull request #8158 from Tachi107/patch-1 (diff) | |
parent | dynarmic: Print stack trace on unrecognised instruction or other exception (diff) | |
download | yuzu-e4c3565ebe2c6ba93dbc1e4dabe61ada6c48ad79.tar yuzu-e4c3565ebe2c6ba93dbc1e4dabe61ada6c48ad79.tar.gz yuzu-e4c3565ebe2c6ba93dbc1e4dabe61ada6c48ad79.tar.bz2 yuzu-e4c3565ebe2c6ba93dbc1e4dabe61ada6c48ad79.tar.lz yuzu-e4c3565ebe2c6ba93dbc1e4dabe61ada6c48ad79.tar.xz yuzu-e4c3565ebe2c6ba93dbc1e4dabe61ada6c48ad79.tar.zst yuzu-e4c3565ebe2c6ba93dbc1e4dabe61ada6c48ad79.zip |
Diffstat (limited to '')
-rw-r--r-- | src/core/arm/dynarmic/arm_dynarmic_32.cpp | 2 | ||||
-rw-r--r-- | src/core/arm/dynarmic/arm_dynarmic_64.cpp | 2 |
2 files changed, 4 insertions, 0 deletions
diff --git a/src/core/arm/dynarmic/arm_dynarmic_32.cpp b/src/core/arm/dynarmic/arm_dynarmic_32.cpp index d4cbd0c20..054572445 100644 --- a/src/core/arm/dynarmic/arm_dynarmic_32.cpp +++ b/src/core/arm/dynarmic/arm_dynarmic_32.cpp @@ -70,11 +70,13 @@ public: } void InterpreterFallback(u32 pc, std::size_t num_instructions) override { + parent.LogBacktrace(); UNIMPLEMENTED_MSG("This should never happen, pc = {:08X}, code = {:08X}", pc, MemoryReadCode(pc)); } void ExceptionRaised(u32 pc, Dynarmic::A32::Exception exception) override { + parent.LogBacktrace(); LOG_CRITICAL(Core_ARM, "ExceptionRaised(exception = {}, pc = {:08X}, code = {:08X}, thumb = {})", exception, pc, MemoryReadCode(pc), parent.IsInThumbMode()); diff --git a/src/core/arm/dynarmic/arm_dynarmic_64.cpp b/src/core/arm/dynarmic/arm_dynarmic_64.cpp index 6d5a1ecfd..7ff8f9495 100644 --- a/src/core/arm/dynarmic/arm_dynarmic_64.cpp +++ b/src/core/arm/dynarmic/arm_dynarmic_64.cpp @@ -81,6 +81,7 @@ public: } void InterpreterFallback(u64 pc, std::size_t num_instructions) override { + parent.LogBacktrace(); LOG_ERROR(Core_ARM, "Unimplemented instruction @ 0x{:X} for {} instructions (instr = {:08X})", pc, num_instructions, MemoryReadCode(pc)); @@ -118,6 +119,7 @@ public: return; case Dynarmic::A64::Exception::Breakpoint: default: + parent.LogBacktrace(); ASSERT_MSG(false, "ExceptionRaised(exception = {}, pc = {:08X}, code = {:08X})", static_cast<std::size_t>(exception), pc, MemoryReadCode(pc)); } |