mirror of
https://github.com/RPCS3/rpcs3.git
synced 2025-02-21 09:40:01 +00:00
Link the memory viewer with the debugger
This commit is contained in:
parent
ba03df8511
commit
2172974db9
@ -1,6 +1,7 @@
|
||||
#include "debugger_frame.h"
|
||||
#include "register_editor_dialog.h"
|
||||
#include "instruction_editor_dialog.h"
|
||||
#include "memory_viewer_panel.h"
|
||||
#include "gui_settings.h"
|
||||
#include "debugger_list.h"
|
||||
#include "breakpoint_list.h"
|
||||
@ -313,6 +314,28 @@ void debugger_frame::keyPressEvent(QKeyEvent* event)
|
||||
|
||||
return;
|
||||
}
|
||||
case Qt::Key_M:
|
||||
{
|
||||
// Memory viewer
|
||||
|
||||
u32 addr = pc;
|
||||
|
||||
if (auto spu = static_cast<const spu_thread*>(cpu->id_type() == 2 ? cpu.get() : nullptr))
|
||||
{
|
||||
if (spu->get_type() != spu_type::threaded)
|
||||
{
|
||||
addr += RAW_SPU_BASE_ADDR + RAW_SPU_OFFSET * spu->index;
|
||||
}
|
||||
else
|
||||
{
|
||||
addr += SPU_FAKE_BASE_ADDR + SPU_LS_SIZE * (spu->id & 0xffffff);
|
||||
}
|
||||
}
|
||||
|
||||
auto mvp = new memory_viewer_panel(this, addr);
|
||||
mvp->show();
|
||||
return;
|
||||
}
|
||||
case Qt::Key_F10:
|
||||
{
|
||||
DoStep(true);
|
||||
|
@ -15,14 +15,14 @@
|
||||
|
||||
constexpr auto qstr = QString::fromStdString;
|
||||
|
||||
memory_viewer_panel::memory_viewer_panel(QWidget* parent)
|
||||
memory_viewer_panel::memory_viewer_panel(QWidget* parent, u32 addr)
|
||||
: QDialog(parent)
|
||||
, m_addr(addr)
|
||||
{
|
||||
setWindowTitle(tr("Memory Viewer"));
|
||||
setObjectName("memory_viewer");
|
||||
setAttribute(Qt::WA_DeleteOnClose);
|
||||
exit = false;
|
||||
m_addr = 0;
|
||||
m_colcount = 16;
|
||||
m_rowcount = 16;
|
||||
int pSize = 10;
|
||||
@ -47,6 +47,7 @@ memory_viewer_panel::memory_viewer_panel(QWidget* parent)
|
||||
QHBoxLayout* hbox_tools_mem_addr = new QHBoxLayout();
|
||||
m_addr_line = new QLineEdit(this);
|
||||
m_addr_line->setPlaceholderText("00000000");
|
||||
m_addr_line->setText(qstr(fmt::format("%08x", m_addr)));
|
||||
m_addr_line->setFont(mono);
|
||||
m_addr_line->setMaxLength(8);
|
||||
m_addr_line->setFixedWidth(75);
|
||||
|
@ -28,7 +28,7 @@ private:
|
||||
|
||||
public:
|
||||
bool exit;
|
||||
memory_viewer_panel(QWidget* parent);
|
||||
memory_viewer_panel(QWidget* parent, u32 addr = 0);
|
||||
~memory_viewer_panel();
|
||||
|
||||
void wheelEvent(QWheelEvent *event) override;
|
||||
|
Loading…
x
Reference in New Issue
Block a user