ppsspp/Qt/debugger_disasm.h
Peter Tissen 520daeeb24 Remove empty lines in disasmview to remove visual noise.
Port over part of the callstack code, still missing function name lookup
and navigation on double click. This is just an intermediate commit, I
don't want to have to rebase this again when I contine to work on it.
2013-11-24 09:26:51 +01:00

103 lines
2.5 KiB
C++

#ifndef DEBUGGER_DISASM_H
#define DEBUGGER_DISASM_H
#include "Core/MIPS/MIPSStackWalk.h"
#include "Core/HLE/sceKernelThread.h"
#include "Core/Debugger/DebugInterface.h"
#include "debugger_vfpu.h"
#include <QDialog>
#include <QListWidgetItem>
#include <QTreeWidgetItem>
#include <vector>
class MainWindow;
namespace Ui {
class Debugger_Disasm;
}
class Debugger_Disasm : public QDialog
{
Q_OBJECT
public:
explicit Debugger_Disasm(DebugInterface *_cpu, MainWindow* mainWindow_, QWidget *parent = 0);
~Debugger_Disasm();
void SetDebugMode(bool _bDebug);
void ShowVFPU();
void Go();
void Step();
void StepOver();
void StepHLE();
void Stop();
void Skip();
void GotoPC();
void GotoLR();
void UpdateDialog();
void NotifyMapLoaded();
void Update();
void ShowMemory(u32 addr);
void FillFunctions();
void UpdateCallstack();
void UpdateBreakpoints();
void UpdateThread();
void UpdateDisplayList();
signals:
void UpdateCallstack_();
void UpdateDisplayList_();
void UpdateBreakpoints_();
void UpdateThread_();
public slots:
void Goto(u32 addr);
void RemoveBreakpoint();
void GotoThreadEntryPoint();
private slots:
void UpdateCallstackGUI();
void UpdateDisplayListGUI();
void UpdateBreakpointsGUI();
void UpdateThreadGUI();
void on_GotoPc_clicked();
void on_Go_clicked();
void on_Stop_clicked();
void on_StepInto_clicked();
void on_StepOver_clicked();
void on_Skip_clicked();
void on_NextHLE_clicked();
void on_GotoLr_clicked();
void on_GotoInt_currentIndexChanged(int index);
void on_Address_textChanged(const QString &arg1);
void on_DisasmView_customContextMenuRequested(const QPoint &pos);
void on_RegList_customContextMenuRequested(const QPoint &pos);
void on_vfpu_clicked();
void on_FuncList_itemClicked(QListWidgetItem *item);
void on_breakpointsList_itemClicked(QTreeWidgetItem *item, int column);
void on_breakpointsList_customContextMenuRequested(const QPoint &pos);
void on_clearAllBP_clicked();
void on_threadList_itemClicked(QTreeWidgetItem *item, int column);
void on_threadList_customContextMenuRequested(const QPoint &pos);
void SetThreadStatusRun();
void SetThreadStatusWait();
void SetThreadStatusSuspend();
void on_displayList_customContextMenuRequested(const QPoint &pos);
private:
void SetThreadStatus(ThreadStatus status);
Ui::Debugger_Disasm *ui;
DebugInterface* cpu;
MainWindow* mainWindow;
Debugger_VFPU* vfpudlg;
u32 breakpointAddr;
QTreeWidgetItem* threadRowSelected;
QTreeWidgetItem* displayListRowSelected;
std::vector<MIPSStackWalk::StackFrame> stackTraceModel;
};
#endif // DEBUGGER_DISASM_H