Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
hrydgard
GitHub Repository: hrydgard/ppsspp
Path: blob/master/Windows/Debugger/Debugger_Disasm.h
3185 views
1
#pragma once
2
3
#include "Windows/W32Util/DialogManager.h"
4
#include "Windows/W32Util/TabControl.h"
5
#include "Windows/Debugger/Debugger_Lists.h"
6
#include "Core/Core.h"
7
#include "Core/MIPS/MIPSDebugInterface.h"
8
#include "Core/Debugger/Breakpoints.h"
9
#include <vector>
10
11
#include "Common/CommonWindows.h"
12
13
class CtrlDisAsmView;
14
class BreakpointManager;
15
16
class CDisasm : public Dialog {
17
private:
18
int minWidth;
19
int minHeight;
20
MIPSDebugInterface *cpu;
21
u64 lastTicks_;
22
23
HWND statusBarWnd;
24
CtrlBreakpointList* breakpointList;
25
CtrlThreadList* threadList;
26
CtrlStackTraceView* stackTraceView;
27
CtrlModuleList* moduleList;
28
CtrlWatchList *watchList_;
29
TabControl* leftTabs;
30
TabControl* bottomTabs;
31
BreakpointManager *breakpoints_;
32
std::vector<BreakPoint> displayedBreakPoints_;
33
std::vector<MemCheck> displayedMemChecks_;
34
bool keepStatusBarText = false;
35
bool hideBottomTabs = false;
36
bool deferredSymbolFill_ = false;
37
38
BOOL DlgProc(UINT message, WPARAM wParam, LPARAM lParam) override;
39
void UpdateSize(WORD width, WORD height);
40
void SavePosition();
41
void updateThreadLabel(bool clear);
42
void step(CPUStepType stepType);
43
void runToLine();
44
45
public:
46
int index;
47
48
CDisasm(HINSTANCE _hInstance, HWND _hParent, MIPSDebugInterface *cpu);
49
~CDisasm();
50
51
void Show(bool bShow, bool includeToTop = true) override;
52
53
void Update() override {
54
UpdateDialog();
55
SetDebugMode(Core_IsStepping(), false);
56
breakpointList->reloadBreakpoints();
57
};
58
void UpdateDialog();
59
void SetDebugMode(bool _bDebug, bool switchPC);
60
61
void Goto(u32 addr);
62
void NotifyMapLoaded();
63
64
private:
65
CtrlDisAsmView *DisAsmView();
66
void ProcessUpdateDialog();
67
68
bool updateDialogScheduled_ = false;
69
};
70
71