CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutSign UpSign In
hrydgard

CoCalc provides the best real-time collaborative environment for Jupyter Notebooks, LaTeX documents, and SageMath, scalable from individual users to large groups and classes!

GitHub Repository: hrydgard/ppsspp
Path: blob/master/Windows/Debugger/BreakpointWindow.h
Views: 1401
1
#pragma once
2
#include <string>
3
#include "Common/CommonWindows.h"
4
#include "Common/CommonTypes.h"
5
#include "Core/Debugger/DebugInterface.h"
6
#include "Core/Debugger/Breakpoints.h"
7
8
class BreakpointWindow
9
{
10
HWND parentHwnd;
11
DebugInterface* cpu;
12
13
bool memory;
14
bool read;
15
bool write;
16
bool enabled;
17
bool log;
18
bool onChange;
19
u32 address;
20
u32 size;
21
std::string condition;
22
std::string logFormat;
23
PostfixExpression compiledCondition;
24
25
bool fetchDialogData(HWND hwnd);
26
bool GetCheckState(HWND hwnd, int dlgItem);
27
28
static INT_PTR CALLBACK StaticDlgFunc(HWND hWnd, UINT iMsg, WPARAM wParam, LPARAM lParam);
29
INT_PTR DlgFunc(HWND hWnd, UINT iMsg, WPARAM wParam, LPARAM lParam);
30
31
public:
32
BreakpointWindow(HWND parent, DebugInterface* cpu): cpu(cpu)
33
{
34
parentHwnd = parent;
35
memory = true;
36
onChange = false;
37
read = write = true;
38
enabled = log = true;
39
address = -1;
40
size = 1;
41
};
42
43
bool exec();
44
bool isMemoryBreakpoint() { return memory; };
45
46
void addBreakpoint();
47
void loadFromMemcheck(const MemCheck &memcheck);
48
void loadFromBreakpoint(const BreakPoint &bp);
49
void initBreakpoint(u32 address);
50
};
51
52