GDBStub: Correctly inform the CPU thread if we are stepping
This commit is contained in:
parent
b9b7c4ac80
commit
b8395280d3
|
@ -141,6 +141,9 @@ void Run()
|
||||||
{
|
{
|
||||||
gdb_signal(GDB_SIGTRAP);
|
gdb_signal(GDB_SIGTRAP);
|
||||||
gdb_handle_exception(true);
|
gdb_handle_exception(true);
|
||||||
|
// If we are still going to step, emulate the fact we just sent a step command
|
||||||
|
if (gdb_hasControl())
|
||||||
|
s_state_cpu_step_instruction = true;
|
||||||
}
|
}
|
||||||
state_lock.lock();
|
state_lock.lock();
|
||||||
#endif
|
#endif
|
||||||
|
|
|
@ -573,14 +573,6 @@ void gdb_break()
|
||||||
|
|
||||||
static void gdb_step()
|
static void gdb_step()
|
||||||
{
|
{
|
||||||
Common::Event sync_event;
|
|
||||||
|
|
||||||
PowerPC::CoreMode old_mode = PowerPC::GetMode();
|
|
||||||
PowerPC::SetMode(PowerPC::CoreMode::Interpreter);
|
|
||||||
PowerPC::breakpoints.ClearAllTemporary();
|
|
||||||
CPU::StepOpcode(&sync_event);
|
|
||||||
sync_event.WaitFor(std::chrono::milliseconds(20));
|
|
||||||
PowerPC::SetMode(old_mode);
|
|
||||||
send_signal = 1;
|
send_signal = 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue