gdbstub: Fix some gdbstub jankiness
1. Ensure that register information available to gdbstub is most up-to-date. 2. There's no reason to check for current_thread == thread when emitting a trap. Doing this results in random hangs whenever a step happens upon a thread switch.
This commit is contained in:
parent
3b1b8b7e1f
commit
d17ab5cd91
2 changed files with 7 additions and 4 deletions
|
@ -50,6 +50,10 @@ System::ResultStatus System::RunLoop(bool tight_loop) {
|
|||
}
|
||||
|
||||
if (GDBStub::IsServerEnabled()) {
|
||||
Kernel::Thread* thread = kernel->GetCurrentThreadManager().GetCurrentThread();
|
||||
if (thread && running_core) {
|
||||
running_core->SaveContext(thread->context);
|
||||
}
|
||||
GDBStub::HandlePacket();
|
||||
|
||||
// If the loop is halted and we want to step, use a tiny (1) number of instructions to
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue