mirror of
https://github.com/RPCS3/rpcs3.git
synced 2025-07-08 16:01:42 +12:00
Link the memory viewer with the debugger
This commit is contained in:
parent
ba03df8511
commit
2172974db9
3 changed files with 27 additions and 3 deletions
|
@ -1,6 +1,7 @@
|
||||||
#include "debugger_frame.h"
|
#include "debugger_frame.h"
|
||||||
#include "register_editor_dialog.h"
|
#include "register_editor_dialog.h"
|
||||||
#include "instruction_editor_dialog.h"
|
#include "instruction_editor_dialog.h"
|
||||||
|
#include "memory_viewer_panel.h"
|
||||||
#include "gui_settings.h"
|
#include "gui_settings.h"
|
||||||
#include "debugger_list.h"
|
#include "debugger_list.h"
|
||||||
#include "breakpoint_list.h"
|
#include "breakpoint_list.h"
|
||||||
|
@ -313,6 +314,28 @@ void debugger_frame::keyPressEvent(QKeyEvent* event)
|
||||||
|
|
||||||
return;
|
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:
|
case Qt::Key_F10:
|
||||||
{
|
{
|
||||||
DoStep(true);
|
DoStep(true);
|
||||||
|
|
|
@ -15,14 +15,14 @@
|
||||||
|
|
||||||
constexpr auto qstr = QString::fromStdString;
|
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)
|
: QDialog(parent)
|
||||||
|
, m_addr(addr)
|
||||||
{
|
{
|
||||||
setWindowTitle(tr("Memory Viewer"));
|
setWindowTitle(tr("Memory Viewer"));
|
||||||
setObjectName("memory_viewer");
|
setObjectName("memory_viewer");
|
||||||
setAttribute(Qt::WA_DeleteOnClose);
|
setAttribute(Qt::WA_DeleteOnClose);
|
||||||
exit = false;
|
exit = false;
|
||||||
m_addr = 0;
|
|
||||||
m_colcount = 16;
|
m_colcount = 16;
|
||||||
m_rowcount = 16;
|
m_rowcount = 16;
|
||||||
int pSize = 10;
|
int pSize = 10;
|
||||||
|
@ -47,6 +47,7 @@ memory_viewer_panel::memory_viewer_panel(QWidget* parent)
|
||||||
QHBoxLayout* hbox_tools_mem_addr = new QHBoxLayout();
|
QHBoxLayout* hbox_tools_mem_addr = new QHBoxLayout();
|
||||||
m_addr_line = new QLineEdit(this);
|
m_addr_line = new QLineEdit(this);
|
||||||
m_addr_line->setPlaceholderText("00000000");
|
m_addr_line->setPlaceholderText("00000000");
|
||||||
|
m_addr_line->setText(qstr(fmt::format("%08x", m_addr)));
|
||||||
m_addr_line->setFont(mono);
|
m_addr_line->setFont(mono);
|
||||||
m_addr_line->setMaxLength(8);
|
m_addr_line->setMaxLength(8);
|
||||||
m_addr_line->setFixedWidth(75);
|
m_addr_line->setFixedWidth(75);
|
||||||
|
|
|
@ -28,7 +28,7 @@ private:
|
||||||
|
|
||||||
public:
|
public:
|
||||||
bool exit;
|
bool exit;
|
||||||
memory_viewer_panel(QWidget* parent);
|
memory_viewer_panel(QWidget* parent, u32 addr = 0);
|
||||||
~memory_viewer_panel();
|
~memory_viewer_panel();
|
||||||
|
|
||||||
void wheelEvent(QWheelEvent *event) override;
|
void wheelEvent(QWheelEvent *event) override;
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue