DebugHardwareBreakPointInterface Class Reference

#include <debug_hardwarebreakpoints.h>

Detailed Description

WARNING: This functionality must not be used in production code. it's only allowed to use this for debugging purposes and needs to be removed/deactivated before submitting. Windows: Please note that intel cpus support only 4 hardware breakpoints. If you try to set more than 4 breakpoints an error will be returned. A good praxis is to create a Ringbuffer<DebugHardwareBreakPointRef, DebugHardwareBreakPointInterface::MAXHARDWAREBREAKPOINTS> and free the oldest hardware breakpoints before creating new one.

Public Member Functions

MAXON_METHOD Result< void > RemoveHardwareBreakpoint ()
 

Static Public Member Functions

static MAXON_METHOD Result< DebugHardwareBreakPointRef > SetHardwareBreakpoint (HARDWAREBREAKPOINTTYPE type, HARDWAREBREAKPOINTSIZE size, void *watchAddress)
 

Static Public Attributes

static const Int MAXHARDWAREBREAKPOINTS
 

Private Member Functions

 MAXON_INTERFACE_NONVIRTUAL (DebugHardwareBreakPointInterface, MAXON_REFERENCE_NORMAL, "net.maxon.interface.debughardwarebreakpoint")
 

Member Function Documentation

◆ MAXON_INTERFACE_NONVIRTUAL()

MAXON_INTERFACE_NONVIRTUAL ( DebugHardwareBreakPointInterface  ,
MAXON_REFERENCE_NORMAL  ,
"net.maxon.interface.debughardwarebreakpoint"   
)
private

◆ SetHardwareBreakpoint()

static MAXON_METHOD Result<DebugHardwareBreakPointRef> SetHardwareBreakpoint ( HARDWAREBREAKPOINTTYPE  type,
HARDWAREBREAKPOINTSIZE  size,
void *  watchAddress 
)
static

Sets a hardware breakpoint for all running threads. When the program hit the watched memory a single_step exception will be fired and the debugger stops at this point where the memory is accessed.

Parameters
[in]typeTrigger type of the breakpoint.
[in]sizeNumber of bytes to be watched starting from watchAddress.
[in]watchAddressStart address of the watched memory.
Returns
OK on success.

◆ RemoveHardwareBreakpoint()

MAXON_METHOD Result<void> RemoveHardwareBreakpoint ( )

Removes a hardware breakpoint from all threads.

Returns
OK on success.

Member Data Documentation

◆ MAXHARDWAREBREAKPOINTS

const Int MAXHARDWAREBREAKPOINTS
static