Files
ppsspp/Windows/Debugger/Debugger_Disasm.h

70 lines
1.6 KiB
C
Raw Permalink Normal View History

#pragma once
2012-11-01 16:19:01 +01:00
#include "Windows/W32Util/DialogManager.h"
#include "Windows/W32Util/TabControl.h"
#include "Windows/Debugger/Debugger_Lists.h"
#include "Core/Core.h"
#include "Core/MIPS/MIPSDebugInterface.h"
#include "Core/Debugger/Breakpoints.h"
#include <vector>
2012-11-01 16:19:01 +01:00
#include "Common/CommonWindows.h"
class CtrlDisAsmView;
2024-11-24 15:19:30 +01:00
class BreakpointManager;
2024-11-24 15:19:30 +01:00
class CDisasm : public Dialog {
2012-11-01 16:19:01 +01:00
private:
int minWidth;
int minHeight;
2012-11-01 16:19:01 +01:00
DebugInterface *cpu;
u64 lastTicks_;
2013-07-30 16:19:05 +02:00
HWND statusBarWnd;
2013-07-08 17:59:34 +02:00
CtrlBreakpointList* breakpointList;
2013-07-02 23:21:20 +02:00
CtrlThreadList* threadList;
2013-08-12 22:11:00 +02:00
CtrlStackTraceView* stackTraceView;
2014-01-27 00:35:16 +01:00
CtrlModuleList* moduleList;
CtrlWatchList *watchList_;
TabControl* leftTabs;
TabControl* bottomTabs;
2024-11-24 15:19:30 +01:00
BreakpointManager *breakpoints_;
std::vector<BreakPoint> displayedBreakPoints_;
std::vector<MemCheck> displayedMemChecks_;
bool keepStatusBarText = false;
bool hideBottomTabs = false;
bool deferredSymbolFill_ = false;
BOOL DlgProc(UINT message, WPARAM wParam, LPARAM lParam) override;
void UpdateSize(WORD width, WORD height);
void SavePosition();
2013-07-03 22:29:35 +02:00
void updateThreadLabel(bool clear);
2024-11-02 22:47:13 +01:00
void step(CPUStepType stepType);
void runToLine();
2012-11-01 16:19:01 +01:00
public:
int index;
2012-11-01 16:19:01 +01:00
CDisasm(HINSTANCE _hInstance, HWND _hParent, DebugInterface *cpu);
~CDisasm();
void Show(bool bShow, bool includeToTop = true) override;
void Update() override {
UpdateDialog();
SetDebugMode(Core_IsStepping(), false);
2013-09-29 11:19:13 +02:00
breakpointList->reloadBreakpoints();
};
void UpdateDialog();
void SetDebugMode(bool _bDebug, bool switchPC);
2012-11-01 16:19:01 +01:00
void Goto(u32 addr);
void NotifyMapLoaded();
private:
CtrlDisAsmView *DisAsmView();
void ProcessUpdateDialog();
bool updateDialogScheduled_ = false;
2012-11-01 16:19:01 +01:00
};