HyperDbg Debugger
Toggle main menu visibility
Loading...
Searching...
No Matches
BreakpointCommands.h
Go to the documentation of this file.
1
12
#pragma once
13
15
// Locks //
17
22
volatile
LONG
BreakpointCommandTrapListLock
;
23
25
// Functions //
27
28
VOID
29
BreakpointRemoveAllBreakpoints
();
30
31
BOOLEAN
32
BreakpointAddNew
(
PDEBUGGEE_BP_PACKET
BpDescriptorArg,
BOOLEAN
SwitchToTargetMemoryLayout);
33
34
BOOLEAN
35
BreakpointListOrModify
(
PDEBUGGEE_BP_LIST_OR_MODIFY_PACKET
ListOrModifyBreakpoints,
36
BOOLEAN
SwitchToTargetMemoryLayout);
37
38
BOOLEAN
39
BreakpointHandleBreakpoints
(
UINT32
CoreId);
40
41
BOOLEAN
42
BreakpointCheckAndHandleDebuggerDefinedBreakpoints
(
PROCESSOR_DEBUGGING_STATE
* DbgState,
43
UINT64 GuestRip,
44
DEBUGGEE_PAUSING_REASON
Reason,
45
BOOLEAN
ChangeMtfState);
46
47
BOOLEAN
48
BreakpointCheckAndHandleReApplyingBreakpoint
(
PROCESSOR_DEBUGGING_STATE
* DbgState);
49
50
BOOLEAN
51
BreakpointCheckAndHandleDebugBreakpoint
(
UINT32
CoreId);
52
53
BOOLEAN
54
BreakpointRestoreTheTrapFlagOnceTriggered
(
UINT32
ProcessId,
UINT32
ThreadId);
BreakpointHandleBreakpoints
BOOLEAN BreakpointHandleBreakpoints(UINT32 CoreId)
Handle breakpoint vm-exits (BP).
Definition
BreakpointCommands.c:662
BreakpointCheckAndHandleDebugBreakpoint
BOOLEAN BreakpointCheckAndHandleDebugBreakpoint(UINT32 CoreId)
Check and handle debug breakpoint exceptions.
Definition
BreakpointCommands.c:239
BreakpointCheckAndHandleReApplyingBreakpoint
BOOLEAN BreakpointCheckAndHandleReApplyingBreakpoint(PROCESSOR_DEBUGGING_STATE *DbgState)
Check and reapply breakpoint.
Definition
BreakpointCommands.c:440
BreakpointAddNew
BOOLEAN BreakpointAddNew(PDEBUGGEE_BP_PACKET BpDescriptorArg, BOOLEAN SwitchToTargetMemoryLayout)
Add new breakpoints.
Definition
BreakpointCommands.c:950
BreakpointListOrModify
BOOLEAN BreakpointListOrModify(PDEBUGGEE_BP_LIST_OR_MODIFY_PACKET ListOrModifyBreakpoints, BOOLEAN SwitchToTargetMemoryLayout)
List of modify breakpoints.
Definition
BreakpointCommands.c:1196
BreakpointRestoreTheTrapFlagOnceTriggered
BOOLEAN BreakpointRestoreTheTrapFlagOnceTriggered(UINT32 ProcessId, UINT32 ThreadId)
This function makes sure to unset the RFLAGS.TF on next trigger of DB on the target process/thread.
Definition
BreakpointCommands.c:174
BreakpointCommandTrapListLock
volatile LONG BreakpointCommandTrapListLock
The lock for modifying list of process/thread for unsetting TRAP FLAG.
Definition
BreakpointCommands.h:22
BreakpointCheckAndHandleDebuggerDefinedBreakpoints
BOOLEAN BreakpointCheckAndHandleDebuggerDefinedBreakpoints(PROCESSOR_DEBUGGING_STATE *DbgState, UINT64 GuestRip, DEBUGGEE_PAUSING_REASON Reason, BOOLEAN ChangeMtfState)
Check if the breakpoint vm-exit relates to 'bp' command or not.
Definition
BreakpointCommands.c:478
BreakpointRemoveAllBreakpoints
VOID BreakpointRemoveAllBreakpoints()
Remove all the breakpoints if possible.
Definition
BreakpointCommands.c:859
BOOLEAN
UCHAR BOOLEAN
Definition
BasicTypes.h:35
LONG
long LONG
Definition
BasicTypes.h:28
UINT32
unsigned int UINT32
Definition
BasicTypes.h:54
DEBUGGEE_PAUSING_REASON
enum _DEBUGGEE_PAUSING_REASON DEBUGGEE_PAUSING_REASON
enum for reasons why debuggee is paused
PDEBUGGEE_BP_PACKET
struct _DEBUGGEE_BP_PACKET * PDEBUGGEE_BP_PACKET
PDEBUGGEE_BP_LIST_OR_MODIFY_PACKET
struct _DEBUGGEE_BP_LIST_OR_MODIFY_PACKET * PDEBUGGEE_BP_LIST_OR_MODIFY_PACKET
PROCESSOR_DEBUGGING_STATE
struct _PROCESSOR_DEBUGGING_STATE PROCESSOR_DEBUGGING_STATE
Saves the debugger state.
hyperdbg
hyperkd
header
debugger
commands
BreakpointCommands.h
Generated by
1.17.0