aboutsummaryrefslogtreecommitdiff
path: root/src/core/arm/arm_interface.cpp
diff options
context:
space:
mode:
authormerry <git@mary.rs>2022-12-06 20:20:20 +0000
committerGitHub <noreply@github.com>2022-12-06 20:20:20 +0000
commite1f5f4bdea084d499a20c6c29902e296224fc5ed (patch)
treef725b18f788f13f8e1fa6781caec1cd7570f2d88 /src/core/arm/arm_interface.cpp
parent08d4e7c7aff6b4b798b9095c5715368918cdba0b (diff)
parent6072b22a0b9a1d84c389e8231fe4b6a97e60d55f (diff)
Merge pull request #9370 from liamwhite/break-unmapped
core: add option to break on unmapped access
Diffstat (limited to 'src/core/arm/arm_interface.cpp')
-rw-r--r--src/core/arm/arm_interface.cpp8
1 files changed, 6 insertions, 2 deletions
diff --git a/src/core/arm/arm_interface.cpp b/src/core/arm/arm_interface.cpp
index 29ba562dc..2df7b0ee8 100644
--- a/src/core/arm/arm_interface.cpp
+++ b/src/core/arm/arm_interface.cpp
@@ -145,11 +145,15 @@ void ARM_Interface::Run() {
// Notify the debugger and go to sleep if a breakpoint was hit,
// or if the thread is unable to continue for any reason.
if (Has(hr, breakpoint) || Has(hr, no_execute)) {
- RewindBreakpointInstruction();
+ if (!Has(hr, no_execute)) {
+ RewindBreakpointInstruction();
+ }
if (system.DebuggerEnabled()) {
system.GetDebugger().NotifyThreadStopped(current_thread);
+ } else {
+ LogBacktrace();
}
- current_thread->RequestSuspend(Kernel::SuspendType::Debug);
+ current_thread->RequestSuspend(SuspendType::Debug);
break;
}