# Interface: com.pnfsoftware.jeb.core.units.code.debug.IDebuggerBreakpoint

Definition of a breakpoint. 

 About the flags: all flags are optional; for unspecified or unsupported flags, the underlying debugger will decide.

## Static Field: ACCESS_SIZE_MASK
Type: `int`

Constant value: `16711680`
Description: The 3\-byte of the flags is used to specify a breakpoint size or memory access size in bytes, if the debugger supports it.

## Static Field: ACCESS_SIZE_SHIFT
Type: `int`

Constant value: `16`

## Static Field: BREAK_ON_CAUGHT_EXCEPTION
Type: `int`

Constant value: `16`

## Static Field: BREAK_ON_CODE
Type: `int`

Constant value: `128`

## Static Field: BREAK_ON_EXCEPTION_SUBTYPES
Type: `int`

Constant value: `64`

## Static Field: BREAK_ON_FIELD_READ
Type: `int`

Constant value: `1`

## Static Field: BREAK_ON_FIELD_WRITE
Type: `int`

Constant value: `2`

## Static Field: BREAK_ON_ROUTINE_ENTRY
Type: `int`

Constant value: `4`

## Static Field: BREAK_ON_ROUTINE_EXIT
Type: `int`

Constant value: `8`

## Static Field: BREAK_ON_UNCAUGHT_EXCEPTION
Type: `int`

Constant value: `32`

## Static Field: ONE_SHOT
Type: `int`

Constant value: `1024`

## Static Field: PREFER_HARDWARE
Type: `int`

Constant value: `2048`
Description: If the architecture differentiates software vs hardware breakpoints, this flag can be set along with [#BREAK_ON_CODE](#BREAK_ON_CODE) to tell the debugger to favor setting a hardware breakpoint, instead of the default software breakpoint. Else, the flag has no effect.

## Static Field: SUSPEND_ALL_THREADS
Type: `int`

Constant value: `512`

## Static Field: SUSPEND_THREAD
Type: `int`

Constant value: `256`

## Method: getAddress
- return type: `java.lang.String`

Description: Get the breakpoint address relative to the debugger itself. Unlike [#getUnitAddress()](#getUnitAddress()), this method should never return null.
return: debugger\-relative breakpoint address

## Method: getAddress
- parameter: `form`, type: `com.pnfsoftware.jeb.core.units.AddressForm`
- return type: `java.lang.String`

Description: 
parameter: form: 
return: 

## Method: getFlags
- return type: `int`

Description: Retrieve the optional breakpoint flags.
return: 0 \(default\), or a combination of `BREAK_ON_xxx` flags

## Method: getUnitAddress
- return type: `com.pnfsoftware.jeb.core.units.UnitAddress<com.pnfsoftware.jeb.core.units.code.ICodeUnit>`

Description: Get the breakpoint address relative to the unit from which the breakpoint belongs, if possible. This method may return null: it is possible that a breakpoint is not located within any unit processed within a JEB project.;
return: unit\-relative breakpoint address, or null

## Method: isEnabled
- return type: `boolean`

Description: Determine whether or not the breakpoint is currently enable.
return: true if the breakpoint is enabled

## Method: setEnabled
- parameter: `enabled`, type: `boolean`
- return type: `boolean`

Description: Enable or disable this breakpoint.
parameter: enabled: true to enable the breakpoint
return: true if the operation was successful

## Static Method: getFlagsAsString
- parameter: `flags`, type: `int`
- return type: `java.lang.String`


