diff --git a/CHANGES b/CHANGES index e54976c77..03eb08dbf 100644 --- a/CHANGES +++ b/CHANGES @@ -29,6 +29,7 @@ Bugfixes: - Video: Fix uncompressed PCM audio recording - GBA Video: Fix windows not disabling target 1 appropriately (fixes #161) - Debugger: Align PC-relative loads in Thumb + - Debugger: Fix watchpoints triggering too late Misc: - Qt: Disable sync to video by default - GBA: Exit cleanly on FATAL if the port supports it diff --git a/src/debugger/debugger.c b/src/debugger/debugger.c index 52a6a11e1..c80344017 100644 --- a/src/debugger/debugger.c +++ b/src/debugger/debugger.c @@ -59,10 +59,14 @@ void ARMDebuggerRun(struct ARMDebugger* debugger) { debugger->state = DEBUGGER_RUNNING; } while (debugger->state < DEBUGGER_EXITING) { - if (!debugger->breakpoints) { + if (!debugger->breakpoints && !debugger->watchpoints) { while (debugger->state == DEBUGGER_RUNNING) { ARMRunLoop(debugger->cpu); } + } else if (!debugger->breakpoints) { + while (debugger->state == DEBUGGER_RUNNING) { + ARMRun(debugger->cpu); + } } else { while (debugger->state == DEBUGGER_RUNNING) { ARMRun(debugger->cpu);