BreakpointRequest (Java SE 12 & JDK 12 )
Keywords: com.sun.jdi.request.BreakpointRequest interface

Module jdk.jdi
Package com.sun.jdi.request

## Interface BreakpointRequest

- All Superinterfaces:
    `EventRequest`, `Locatable`, `Mirror`

      public interface BreakpointRequest
      extends EventRequest, Locatable

  Identifies a `Location` in the target VM at which execution should be stopped. When an enabled BreakpointRequest is satisfied, an `event set` containing an `BreakpointEvent` will be placed on the `EventQueue` and the application is interrupted. The collection of existing breakpoints is managed by the `EventRequestManager`
  Since:
    1.3
  See Also:
    `Location`, `BreakpointEvent`, `EventQueue`, `EventRequestManager`

- - ### Field Summary

    - ### Fields declared in interface com.sun.jdi.request.EventRequest

      `SUSPEND_ALL, SUSPEND_EVENT_THREAD, SUSPEND_NONE`

  - ### Method Summary

    Modifier and Type | Method | Description
    --- | --- | ---
    `void` | `addInstanceFilter​(ObjectReference instance)` | Restricts the events generated by this request to those in which the currently executing instance is the object specified.
    `void` | `addThreadFilter​(ThreadReference thread)` | Restricts the events generated by this request to those in the given thread.
    `Location` | `location()` | Returns the location of the requested breakpoint.

    - ### Methods declared in interface com.sun.jdi.request.EventRequest

      `addCountFilter, disable, enable, getProperty, isEnabled, putProperty, setEnabled, setSuspendPolicy, suspendPolicy`

    - ### Methods declared in interface com.sun.jdi.Mirror

      `toString, virtualMachine`

- - ### Method Detail

    - #### location

          Location location()

      Returns the location of the requested breakpoint.
      Specified by:
        `location` in interface `Locatable`
      Returns:
        the `Location` where this breakpoint has been set.

    - #### addThreadFilter

          void addThreadFilter​(ThreadReference thread)

      Restricts the events generated by this request to those in the given thread.
      Parameters:
        `thread` - the thread to filter on.
      Throws:
        `InvalidRequestStateException` - if this request is currently enabled or has been deleted. Filters may be added only to disabled requests.

    - #### addInstanceFilter

          void addInstanceFilter​(ObjectReference instance)

      Restricts the events generated by this request to those in which the currently executing instance is the object specified.

      Not all targets support this operation. Use `VirtualMachine.canUseInstanceFilters()` to determine if the operation is supported.

      Parameters:
        `instance` - the object which must be the current instance in order to pass this filter.
      Throws:
        `UnsupportedOperationException` - if the target virtual machine does not support this operation.
        `InvalidRequestStateException` - if this request is currently enabled or has been deleted. Filters may be added only to disabled requests.
      Since:
        1.4