## jde.debugger
Class BreakpointCommands

    java.lang.Object
      |
      +--jde.debugger.ApplicationCommands
            |
            +--jde.debugger.BreakpointCommands

public class BreakpointCommands
extends ApplicationCommands

BreakpointCommands.java

Handles commands related to breakpointing, watchpointing and catching exceptions. Jump to '`doCatchException`', '`watch`', '`break`', '`clear`', '`step`'

Created: Fri Jul 30 15:44:59 1999

Since:
  0.1

Fields inherited from class jde.debugger.ApplicationCommands
`app, eventRequests, store`

Constructor Summary
`BreakpointCommands(Application a, EventRequestSpecList e, ObjectStore s)`

Method Summary
`private void` `clearPreviousStep(com.sun.jdi.ThreadReference thread)` Clear a previous step request on this thread: only one is allowed per thread
`void` `doBreak(java.lang.Integer cmd_id, java.util.List args)` 'break' command.
`void` `doBreakAbsolute(java.lang.Integer cmd_id, java.util.List args)` A break on a line of a given source file
`void` `doBreakInMethod(java.lang.Integer cmd_id, java.util.List args)` A break in a particular method.
`void` `doBreakOnLine(java.lang.Integer cmd_id, java.util.List args)` A break on a particular line of a class
`void` `doCatchException(java.lang.Integer cmd_id, java.util.List args)` 'catch_exception' command.
`void` `doClear(java.lang.Integer cmd_id, java.util.List args)` 'clear' command.
`void` `doStep(java.lang.Integer cmd_id, java.util.List args)` 'step' command.
`void` `doWatch(java.lang.Integer cmd_id, java.util.List args)` 'watch' command.

Methods inherited from class java.lang.Object
`<clinit>, clone, equals, finalize, getClass, hashCode, notify, notifyAll, registerNatives, toString, wait, wait, wait`

Constructor Detail

### BreakpointCommands

    public BreakpointCommands(Application a,
                              EventRequestSpecList e,
                              ObjectStore s)

Method Detail

### doCatchException

    public void doCatchException(java.lang.Integer cmd_id,
                                 java.util.List args)
                          throws JDEException

  'catch_exception' command.

  Syntax:

       catch_exception classPattern type
            [thread-restriction]
            [suspend-policy]
            [class-filters]
            [class-exclusion-filters]

  Returns:

       (jde-dbo-command-result cmd_id specID)

  Comments:
  - type can be "caught", "uncaught", or "both"
  - specID is a 'long', and can be used in the 'clear' command

  See Also:
    `EventHandler.exceptionEvent(ExceptionEvent)`

### doWatch

    public void doWatch(java.lang.Integer cmd_id,
                        java.util.List args)
                 throws JDEException

  'watch' command.

  Syntax:

       watch classPattern fieldName type
            [thread-restriction]
            [expression-restriction]
            [object-id-restriction]
            [suspend-policy]
            [class-filters]
            [class-exclusion-filters]

  Returns:

       (jde-dbo-command-result cmd_id specID)

  Comments:
  - type can be "for_access" or "for_modification"
  - 'classPattern' can be a string pattern of the type *.Test
  - objectID is used when, for example, when you already know the object id of the object, the access/modification of which's field you're interested in.
  - specID is a 'long', that can be used in 'clear' commands.

  See Also:
    `EventHandler.watchpointEvent(WatchpointEvent)`

### doBreak

    public void doBreak(java.lang.Integer cmd_id,
                        java.util.List args)
                 throws JDEException

  'break' command.

  Syntax:

       break in_method class method [(args)]
            [thread-restriction]
            [expression-restriction]
            [suspend-policy]

       break on_line   class line
            [thread-restriction]
            [expression-restriction]
            [suspend-policy]

       break absolute  file line
            [thread-restriction]
            [expression-restriction]
            [suspend-policy]

  Returns:

       (jde-dbo-command-result cmd_id specID)

  Comments:
  - There are exactly three kinds of 'break' commands. One of in_method, on_line, or absolute need to be used.
  - 'class' can be a string pattern of the type *.Test
  - specID is a 'long', that can be used in 'clear' commands.

  See Also:
    `EventHandler.breakpointEvent(BreakpointEvent)`

### doClear

    public void doClear(java.lang.Integer cmd_id,
                        java.util.List args)
                 throws JDEException

  'clear' command. Clears a breakpoint, watchpoint or an exception intercept

  Syntax:

       clear specID

  Comments:
  - specIDs are returned in the 'break'/'watch'/catch_exception commands.

### doBreakInMethod

    public void doBreakInMethod(java.lang.Integer cmd_id,
                                java.util.List args)
                         throws JDEException

  A break in a particular method.

  Syntax:

       break in_method class method [(arg1,arg2,...)]
            [thread-restriction]
            [expression-restriction]
            [suspend-policy]

  Comments:
  - There should be no spaces before or after the ','; when the arguments are supplied.
  - A void method should be indicated by `()`
  - A unique method doesn't need to supply the arguments. The entire argument list should be absent in this case.

### doBreakOnLine

    public void doBreakOnLine(java.lang.Integer cmd_id,
                              java.util.List args)
                       throws JDEException

  A break on a particular line of a class

### doBreakAbsolute

    public void doBreakAbsolute(java.lang.Integer cmd_id,
                                java.util.List args)
                         throws JDEException

  A break on a line of a given source file

### doStep

    public void doStep(java.lang.Integer cmd_id,
                       java.util.List args)
                throws JDEException

  'step' command. This is only possible if the current thread is suspended.

  Syntax:

       step type threadID
            [suspend-policy]

  Comments:
  - type is one of "over", "into", and "out" There are three kinds of steps that are being supported currently:
    - step over: steps over method calls
    - step into: goes into called methods
    - step out: executes till it returns to the calling method
  - threadID is required. Also, this is only possible on a suspended thread. jde should check this before calling step.

  See Also:
    `EventHandler.stepEvent(StepEvent)`

### clearPreviousStep

    private void clearPreviousStep(com.sun.jdi.ThreadReference thread)

  Clear a previous step request on this thread: only one is allowed per thread