all repos — mgba @ 2ef64ede02053311bf3e131254b2e0860cb17414

mGBA Game Boy Advance Emulator

src/debugger/debugger.h (view raw)

 1#ifndef DEBUGGER_H
 2#define DEBUGGER_H
 3
 4#include <histedit.h>
 5
 6#include "arm.h"
 7
 8enum DebuggerState {
 9	DEBUGGER_PAUSED,
10	DEBUGGER_RUNNING,
11	DEBUGGER_EXITING
12};
13
14struct DebugBreakpoint {
15	struct DebugBreakpoint* next;
16	int32_t address;
17};
18
19struct DebugMemoryShim {
20	struct ARMMemory d;
21	struct ARMMemory* original;
22
23	struct ARMDebugger* p;
24	struct DebugBreakpoint* watchpoints;
25};
26
27struct ARMDebugger {
28	enum DebuggerState state;
29	struct ARMCore* cpu;
30
31	EditLine* elstate;
32	History* histate;
33
34	struct DebugBreakpoint* breakpoints;
35	struct DebugMemoryShim memoryShim;
36};
37
38void ARMDebuggerInit(struct ARMDebugger*, struct ARMCore*);
39void ARMDebuggerDeinit(struct ARMDebugger*);
40void ARMDebuggerRun(struct ARMDebugger*);
41void ARMDebuggerEnter(struct ARMDebugger*);
42
43#endif