mirror of
https://github.com/RPCS3/rpcs3.git
synced 2025-07-07 15:31:26 +12:00
GUI Utilities: Implement instruction search, PPU/SPU disasm improvements (#10968)
* GUI Utilities: Implement instruction search in PS3 memory * String Searcher: Case insensitive search * PPU DisAsm: Comment constants with ORI * PPU DisAsm: Add 64-bit constant support * SPU/PPU DisAsm: Print CELL errors in disasm * PPU DisAsm: Constant comparison support
This commit is contained in:
parent
8a72bdb422
commit
ab50e5483e
21 changed files with 1043 additions and 409 deletions
|
@ -2,6 +2,7 @@
|
|||
#include "register_editor_dialog.h"
|
||||
#include "instruction_editor_dialog.h"
|
||||
#include "memory_viewer_panel.h"
|
||||
#include "memory_string_searcher.h"
|
||||
#include "gui_settings.h"
|
||||
#include "debugger_list.h"
|
||||
#include "breakpoint_list.h"
|
||||
|
@ -306,6 +307,7 @@ void debugger_frame::keyPressEvent(QKeyEvent* event)
|
|||
QLabel* l = new QLabel(tr(
|
||||
"Keys Ctrl+G: Go to typed address."
|
||||
"\nKeys Ctrl+B: Open breakpoints settings."
|
||||
"\nKeys Ctrl+S: Search memory string utility."
|
||||
"\nKeys Alt+S: Capture SPU images of selected SPU."
|
||||
"\nKey D: SPU MFC commands logger, MFC debug setting must be enabled."
|
||||
"\nKey D: Also PPU calling history logger, interpreter and non-zero call history size must be used."
|
||||
|
@ -364,6 +366,20 @@ void debugger_frame::keyPressEvent(QKeyEvent* event)
|
|||
open_breakpoints_settings();
|
||||
return;
|
||||
}
|
||||
case Qt::Key_S:
|
||||
{
|
||||
if (m_disasm && (cpu->id_type() == 2 || cpu->id_type() == 1))
|
||||
{
|
||||
if (cpu->id_type() == 2)
|
||||
{
|
||||
// Save shared pointer to shared memory handle, ensure the destructor will not be called until the SPUDisAsm is destroyed
|
||||
static_cast<SPUDisAsm*>(m_disasm.get())->set_shm(static_cast<const spu_thread*>(cpu)->shm);
|
||||
}
|
||||
|
||||
idm::make<memory_searcher_handle>(this, m_disasm, cpu->id_type() == 2 ? cpu->get_name() : "");
|
||||
}
|
||||
return;
|
||||
}
|
||||
default: break;
|
||||
}
|
||||
}
|
||||
|
@ -911,7 +927,7 @@ void debugger_frame::OnSelectUnit()
|
|||
|
||||
if (get_cpu())
|
||||
{
|
||||
m_disasm = std::make_shared<RSXDisAsm>(cpu_disasm_mode::interpreter, vm::g_sudo_addr, m_rsx);
|
||||
m_disasm = std::make_shared<RSXDisAsm>(cpu_disasm_mode::interpreter, vm::g_sudo_addr, 0, m_rsx);
|
||||
}
|
||||
|
||||
break;
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue