Files
ppsspp/Windows/Debugger/Debugger_Lists.h

70 lines
2.4 KiB
C
Raw Normal View History

2013-07-02 23:21:20 +02:00
#pragma once
#include "../../Core/Debugger/DebugInterface.h"
#include "../../Core/HLE/sceKernelThread.h"
2013-07-08 17:59:34 +02:00
#include "../../Core/Debugger/Breakpoints.h"
2013-08-12 22:11:00 +02:00
#include "../../Core/MIPS/MIPSStackWalk.h"
2013-09-29 10:50:18 +02:00
#include "Windows/W32Util/Misc.h"
2013-07-02 23:21:20 +02:00
2013-09-29 10:50:18 +02:00
class CtrlThreadList: public GenericListControl
2013-07-02 23:21:20 +02:00
{
public:
2013-09-29 10:50:18 +02:00
CtrlThreadList(HWND hwnd);
2013-07-02 23:21:20 +02:00
void reloadThreads();
void showMenu(int itemIndex, const POINT &pt);
2013-07-03 22:29:35 +02:00
const char* getCurrentThreadName();
2013-09-29 10:50:18 +02:00
protected:
virtual bool WindowMessage(UINT msg, WPARAM wParam, LPARAM lParam, LRESULT& returnValue);
virtual void GetColumnText(wchar_t* dest, int row, int col);
virtual int GetRowCount() { return (int) threads.size(); };
virtual void OnDoubleClick(int itemIndex, int column);
virtual void OnRightClick(int itemIndex, int column, const POINT& point);
private:
std::vector<DebugThreadInfo> threads;
2013-07-08 17:59:34 +02:00
};
class CtrlDisAsmView;
2013-09-29 11:19:13 +02:00
class CtrlBreakpointList: public GenericListControl
2013-07-08 17:59:34 +02:00
{
2013-09-29 11:19:13 +02:00
public:
CtrlBreakpointList(HWND hwnd, DebugInterface* cpu, CtrlDisAsmView* disasm);
2013-09-29 11:19:13 +02:00
void reloadBreakpoints();
void showMenu(int itemIndex, const POINT &pt);
protected:
virtual bool WindowMessage(UINT msg, WPARAM wParam, LPARAM lParam, LRESULT& returnValue);
virtual void GetColumnText(wchar_t* dest, int row, int col);
virtual int GetRowCount() { return getTotalBreakpointCount(); };
virtual void OnDoubleClick(int itemIndex, int column);
virtual void OnRightClick(int itemIndex, int column, const POINT& point);
private:
2013-07-08 17:59:34 +02:00
std::vector<BreakPoint> displayedBreakPoints_;
std::vector<MemCheck> displayedMemChecks_;
std::wstring breakpointText;
2013-07-08 17:59:34 +02:00
DebugInterface* cpu;
CtrlDisAsmView* disasm;
2013-07-31 20:33:50 +02:00
void editBreakpoint(int itemIndex);
2013-07-08 17:59:34 +02:00
void gotoBreakpointAddress(int itemIndex);
void removeBreakpoint(int itemIndex);
int getTotalBreakpointCount();
int getBreakpointIndex(int itemIndex, bool& isMemory);
void showBreakpointMenu(int itemIndex, const POINT &pt);
void toggleEnabled(int itemIndex);
2013-08-12 22:11:00 +02:00
};
2013-09-29 11:28:16 +02:00
class CtrlStackTraceView: public GenericListControl
2013-08-12 22:11:00 +02:00
{
public:
CtrlStackTraceView(HWND hwnd, DebugInterface* cpu, CtrlDisAsmView* disasm);
2013-08-12 22:11:00 +02:00
void loadStackTrace();
2013-09-29 11:28:16 +02:00
protected:
virtual bool WindowMessage(UINT msg, WPARAM wParam, LPARAM lParam, LRESULT& returnValue);
virtual void GetColumnText(wchar_t* dest, int row, int col);
virtual int GetRowCount() { return (int)frames.size(); };
virtual void OnDoubleClick(int itemIndex, int column);
private:
std::vector<MIPSStackWalk::StackFrame> frames;
DebugInterface* cpu;
CtrlDisAsmView* disasm;
2013-07-02 23:21:20 +02:00
};