debugger: Fix SPU memory viewing (#10007)

* debugger: Fix SPU memory viewing

* Fix terminal recovery from page faults (hack allocation)
This commit is contained in:
Eladash 2021-03-23 12:33:07 +02:00 committed by GitHub
parent dedf09017a
commit a67b347966
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
2 changed files with 3 additions and 3 deletions

View file

@ -1409,9 +1409,9 @@ bool handle_access_violation(u32 addr, bool is_writing, x64_context* context) no
return false; return false;
} }
if (area->flags & 0x100 || (is_writing && vm::check_addr(addr))) if (vm::reader_lock rlock; vm::check_addr(addr, 0))
{ {
// For 4kb pages or read only memory // For allocated memory with protection lower than required (such as protection::no or read-only while writing to it)
utils::memory_protect(vm::base(addr & -0x1000), 0x1000, utils::protection::rw); utils::memory_protect(vm::base(addr & -0x1000), 0x1000, utils::protection::rw);
return true; return true;
} }

View file

@ -111,7 +111,7 @@ void debugger_list::ShowAddress(u32 addr, bool force)
item(i)->setBackground(default_background); item(i)->setBackground(default_background);
} }
if (m_cpu->id_type() == 1 && !vm::check_addr(pc)) if (m_cpu->id_type() == 1 && !vm::check_addr(pc, 0))
{ {
item(i)->setText((IsBreakpoint(pc) ? ">> " : " ") + qstr(fmt::format("[%08x] ?? ?? ?? ??:", pc))); item(i)->setText((IsBreakpoint(pc) ? ">> " : " ") + qstr(fmt::format("[%08x] ?? ?? ?? ??:", pc)));
count = 4; count = 4;