2024-03-19 22:25:45 +01:00
|
|
|
|
/*
|
|
|
|
|
* debugger.h
|
|
|
|
|
*
|
|
|
|
|
* This file is part of Emu48
|
|
|
|
|
*
|
|
|
|
|
* Copyright (C) 1999 Christoph Gie<EFBFBD>elink
|
|
|
|
|
*
|
|
|
|
|
*/
|
|
|
|
|
|
2024-03-19 22:36:03 +01:00
|
|
|
|
// breakpoint type definitions
|
2024-03-19 22:37:03 +01:00
|
|
|
|
#define BP_EXEC 0x01 // code breakpoint
|
|
|
|
|
#define BP_READ 0x02 // read memory breakpoint
|
|
|
|
|
#define BP_WRITE 0x04 // write memory breakpoint
|
2024-03-19 23:35:30 +01:00
|
|
|
|
#define BP_RPL 0x08 // RPL breakpoint
|
2024-03-19 22:37:03 +01:00
|
|
|
|
#define BP_ACCESS (BP_READ|BP_WRITE) // read/write memory breakpoint
|
2024-03-19 22:25:45 +01:00
|
|
|
|
|
2024-03-19 22:38:33 +01:00
|
|
|
|
// breakpoint notify definitions
|
|
|
|
|
#define BN_ASM 0 // ASM breakpoint
|
|
|
|
|
#define BN_RPL 1 // RPL breakpoint
|
|
|
|
|
#define BN_ASM_BT 2 // ASM and RPL breakpoint
|
|
|
|
|
|
2024-03-19 22:36:03 +01:00
|
|
|
|
// debugger state definitions
|
2024-03-19 22:37:54 +01:00
|
|
|
|
#define DBG_SUSPEND -1
|
|
|
|
|
#define DBG_OFF 0
|
|
|
|
|
#define DBG_RUN 1
|
|
|
|
|
#define DBG_STEPINTO 2
|
2024-03-19 23:35:30 +01:00
|
|
|
|
#define DBG_STEPOVER 3
|
|
|
|
|
#define DBG_STEPOUT 4
|
2024-03-19 22:25:45 +01:00
|
|
|
|
|
|
|
|
|
// debugger.c
|
2024-03-19 22:38:33 +01:00
|
|
|
|
extern VOID UpdateDbgCycleCounter(VOID);
|
2024-03-19 22:36:03 +01:00
|
|
|
|
extern BOOL CheckBreakpoint(DWORD dwAddr, DWORD wRange, UINT nType);
|
2024-03-19 22:38:33 +01:00
|
|
|
|
extern VOID NotifyDebugger(INT nType);
|
2024-03-19 22:37:03 +01:00
|
|
|
|
extern VOID DisableDebugger(VOID);
|
2024-03-19 22:25:45 +01:00
|
|
|
|
extern LRESULT OnToolDebug(VOID);
|
2024-03-19 22:37:03 +01:00
|
|
|
|
extern VOID LoadBreakpointList(HANDLE hFile);
|
|
|
|
|
extern VOID SaveBreakpointList(HANDLE hFile);
|
2024-03-19 23:35:29 +01:00
|
|
|
|
extern VOID CreateBackupBreakpointList(VOID);
|
|
|
|
|
extern VOID RestoreBackupBreakpointList(VOID);
|