Debugger: Fix watchpoints triggering too late

This commit is contained in:
Jeffrey Pfau 2014-12-25 14:48:30 -08:00
parent ca51098ca0
commit f25821524d
2 changed files with 6 additions and 1 deletions

View File

@ -29,6 +29,7 @@ Bugfixes:
- Video: Fix uncompressed PCM audio recording - Video: Fix uncompressed PCM audio recording
- GBA Video: Fix windows not disabling target 1 appropriately (fixes #161) - GBA Video: Fix windows not disabling target 1 appropriately (fixes #161)
- Debugger: Align PC-relative loads in Thumb - Debugger: Align PC-relative loads in Thumb
- Debugger: Fix watchpoints triggering too late
Misc: Misc:
- Qt: Disable sync to video by default - Qt: Disable sync to video by default
- GBA: Exit cleanly on FATAL if the port supports it - GBA: Exit cleanly on FATAL if the port supports it

View File

@ -59,10 +59,14 @@ void ARMDebuggerRun(struct ARMDebugger* debugger) {
debugger->state = DEBUGGER_RUNNING; debugger->state = DEBUGGER_RUNNING;
} }
while (debugger->state < DEBUGGER_EXITING) { while (debugger->state < DEBUGGER_EXITING) {
if (!debugger->breakpoints) { if (!debugger->breakpoints && !debugger->watchpoints) {
while (debugger->state == DEBUGGER_RUNNING) { while (debugger->state == DEBUGGER_RUNNING) {
ARMRunLoop(debugger->cpu); ARMRunLoop(debugger->cpu);
} }
} else if (!debugger->breakpoints) {
while (debugger->state == DEBUGGER_RUNNING) {
ARMRun(debugger->cpu);
}
} else { } else {
while (debugger->state == DEBUGGER_RUNNING) { while (debugger->state == DEBUGGER_RUNNING) {
ARMRun(debugger->cpu); ARMRun(debugger->cpu);