## jde.debugger
Interface Protocol

All Known Implementing Classes:
  JDEException, Rep, Jdebug, Application, EventHandler, ObjectStore, Debug, ApplicationCommands, Main, EventRequestSpec

public interface Protocol

Protocol.java

Repository of all commands sent from jde to jdebug, and all lisp functions sent from jdebug to jde

Nomenclature:

jdebug:
  The java side of the debugger
jde:
  The emacs side of the debugger. Also used in general terms to mean JDE itself.
JDE:
  The java development environment
debugger:
  Usually the java side, also used in general terms to mean the full debugging framework
debugee:
  The application being debugged. Usually means the VM of the application, as against the VM of the debugger.
application:
  Same as 'debugee'
VM:
  The java virtual machine. During debugging, the debugger VM connects to the debuggee VM through a socket/shared memory (the latter is possible in case of Win9x/NT)

  Commands

  The commands will be ASCII strings delimited by spaces, and will end with a BR .

            debugee_vm_id command_id command [optional_args]

debugee_vm_id
  a number that is assigned during handshake between the emacs and the jde sides, representing a specific debugee vm.

  if (id == -1), the command is not specific to any debugee vm.

  'app_id', 'vm_id' 'id' & 'debugee_vm_id' are synonymous.

command_id
  an id that helps match a command and its response.

  'cmd_id' 'cid' & 'command_id' are synonymous.

command
  plain text command
optional_args
  arguments for the command. can use "" for arguments with white spaces.

Replies

The replies to these commands will be ASCII too, in lisp forms, and will also end with a BR . They will either by "result" or "error":

          (jde-dbo-command-result command_id [optional_args])
          (jde-dbo-command-error command_id reason)

debugee_vm_id, command_id
  as above
optional_args
  if required
reason
  a string, containing the error message

Event Sets See `here`

Created: Thu Jul 8 13:44:10 1999

Since:
  0.1

Field Summary
`static java.lang.String` `ATTACH_SHMEM`
`static java.lang.String` `ATTACH_SOCKET`
`static java.lang.String` `BR` line break, platform dependent
`static java.lang.String` `BREAK`
`static java.lang.String` `CANCEL_TRACE_CLASSES`
`static java.lang.String` `CANCEL_TRACE_METHODS`
`static java.lang.String` `CANCEL_TRACE_THREADS`
`static java.lang.String` `CLEAR`
`static java.lang.String` `COMMAND_ERROR` There was an error executing the command, returns the error
`static java.lang.String` `COMMAND_RESULT` The command executed properly, returns the result
`static java.lang.String` `CONNECTED_TO_VM` Notifies that a connection to a vm was successfully made
`static java.lang.String` `DEBUG` a debug message
`static java.lang.String` `ERROR` an error
`static java.lang.String` `EVALUATE`
`static java.lang.String` `EVENT_BREAKPOINT_HIT`
`static java.lang.String` `EVENT_CLASS_PREPARE`
`static java.lang.String` `EVENT_CLASS_UNLOAD`
`static java.lang.String` `EVENT_EXCEPTION`
`static java.lang.String` `EVENT_METHOD_ENTRY`
`static java.lang.String` `EVENT_METHOD_EXIT`
`static java.lang.String` `EVENT_OTHER`
`static java.lang.String` `EVENT_STEP_COMPLETED`
`static java.lang.String` `EVENT_THREAD_DEATH`
`static java.lang.String` `EVENT_THREAD_START`
`static java.lang.String` `EVENT_VM_DEATH`
`static java.lang.String` `EVENT_VM_DISCONNECT`
`static java.lang.String` `EVENT_VM_START`
`static java.lang.String` `EVENT_WATCHPOINT_HIT`
`static java.lang.String` `EVENTSET` Event sets caused by the jpda.
`static java.lang.String` `EXIT`
`static java.lang.String` `FINISH`
`static java.lang.String` `GET_ARRAY`
`static java.lang.String` `GET_LOADED_CLASSES`
`static java.lang.String` `GET_LOCALS`
`static java.lang.String` `GET_OBJECT`
`static java.lang.String` `GET_OBJECT_MONITORS`
`static java.lang.String` `GET_PATH_INFORMATION`
`static java.lang.String` `GET_STRING`
`static java.lang.String` `GET_THREAD`
`static java.lang.String` `GET_THREADS`
`static java.lang.String` `INTERRUPT`
`static java.lang.String` `INVALID` used to construct messages about invalid breakpoints etc.
`static java.lang.String` `JDE_BUG` arbitrary lisp functions passed to jde start with this
`static java.lang.String` `JDE_INIT_DEBUG_SESSION` the very first function, indicating that jdebug is up and running
`static java.lang.String` `KILL_THREAD`
`static java.lang.String` `LAUNCH`
`static java.lang.String` `LISTEN_SHMEM`
`static java.lang.String` `LISTEN_SOCKET`
`static java.lang.String` `MESSAGE` A message to be displayed on the JDE UI
`static java.lang.String` `QUIT`
`static java.lang.String` `REPORT_IDS_IN_USE` tell jdebug to inform jdebug about references to objects being currently used.
`static java.lang.String` `RESUME`
`static java.lang.String` `RUN`
`static java.lang.String` `SPEC_RESOLVED` Notifies that a spec was resolved properly
`static java.lang.String` `STEP`
`static java.lang.String` `SUSPEND`
`static java.lang.String` `TRACE_CLASSES`
`static java.lang.String` `TRACE_EXCEPTIONS`
`static java.lang.String` `TRACE_METHODS`
`static java.lang.String` `TRACE_THREADS`
`static java.lang.String` `WARNING` A warning
`static java.lang.String` `WATCH`

Field Detail

### BR

    public static final java.lang.String BR

  line break, platform dependent

### LAUNCH

    public static final java.lang.String LAUNCH

  See Also:
    `Jdebug.doLaunch(Integer, List)`

### ATTACH_SOCKET

    public static final java.lang.String ATTACH_SOCKET

  See Also:
    `Jdebug.doAttach(String, Integer, List)`

### ATTACH_SHMEM

    public static final java.lang.String ATTACH_SHMEM

  See Also:
    `Jdebug.doAttach(String, Integer, List)`

### LISTEN_SOCKET

    public static final java.lang.String LISTEN_SOCKET

  See Also:
    `Jdebug.doListen(String, Integer, List)`

### LISTEN_SHMEM

    public static final java.lang.String LISTEN_SHMEM

  See Also:
    `Jdebug.doListen(String, Integer, List)`

### QUIT

    public static final java.lang.String QUIT

  See Also:
    `Jdebug.doQuit(Integer, List)`

### EXIT

    public static final java.lang.String EXIT

  See Also:
    `Jdebug.doQuit(Integer, List)`

### RUN

    public static final java.lang.String RUN

  See Also:
    `GeneralCommands.doRun(Integer, List)`

### FINISH

    public static final java.lang.String FINISH

  See Also:
    `GeneralCommands.doFinish(Integer, List)`

### TRACE_CLASSES

    public static final java.lang.String TRACE_CLASSES

  See Also:
    `GeneralCommands.doTraceClasses(Integer, List)`

### CANCEL_TRACE_CLASSES

    public static final java.lang.String CANCEL_TRACE_CLASSES

  See Also:
    `GeneralCommands.doCancelTraceClasses(Integer, List)`

### TRACE_EXCEPTIONS

    public static final java.lang.String TRACE_EXCEPTIONS

  See Also:
    `SpecCommands.doTraceExceptions(Integer, List)`

### WATCH

    public static final java.lang.String WATCH

  See Also:
    `SpecCommands.doWatch(Integer, List)`

### BREAK

    public static final java.lang.String BREAK

  See Also:
    `SpecCommands.doBreak(Integer, List)`

### CLEAR

    public static final java.lang.String CLEAR

  See Also:
    `SpecCommands.doClear(Integer, List)`

### STEP

    public static final java.lang.String STEP

  See Also:
    `SpecCommands.doStep(Integer, List)`

### SUSPEND

    public static final java.lang.String SUSPEND

  See Also:
    `ThreadCommands.doSuspend(Integer, List)`

### RESUME

    public static final java.lang.String RESUME

  See Also:
    `ThreadCommands.doResume(Integer, List)`

### INTERRUPT

    public static final java.lang.String INTERRUPT

  See Also:
    `ThreadCommands.doInterrupt(Integer, List)`

### KILL_THREAD

    public static final java.lang.String KILL_THREAD

  See Also:
    `ThreadCommands.doKillThread(Integer, List)`

### GET_THREADS

    public static final java.lang.String GET_THREADS

  See Also:
    `ThreadCommands.doGetThreads(Integer, List)`

### GET_THREAD

    public static final java.lang.String GET_THREAD

  See Also:
    `ThreadCommands.doGetThread(Integer, List)`

### GET_OBJECT_MONITORS

    public static final java.lang.String GET_OBJECT_MONITORS

  See Also:
    `ThreadCommands.doGetObjectMonitors(Integer, List)`

### TRACE_THREADS

    public static final java.lang.String TRACE_THREADS

  See Also:
    `ThreadCommands.doTraceThreads(Integer, List)`

### CANCEL_TRACE_THREADS

    public static final java.lang.String CANCEL_TRACE_THREADS

  See Also:
    `ThreadCommands.doCancelTraceThreads(Integer, List)`

### TRACE_METHODS

    public static final java.lang.String TRACE_METHODS

  See Also:
    `GeneralCommands.doTraceMethods(Integer, List)`

### CANCEL_TRACE_METHODS

    public static final java.lang.String CANCEL_TRACE_METHODS

  See Also:
    `GeneralCommands.doCancelTraceMethods(Integer, List)`

### GET_OBJECT

    public static final java.lang.String GET_OBJECT

  See Also:
    `GeneralCommands.doGetObject(Integer, List)`

### GET_ARRAY

    public static final java.lang.String GET_ARRAY

  See Also:
    `GeneralCommands.doGetArray(Integer, List)`

### GET_STRING

    public static final java.lang.String GET_STRING

  See Also:
    `GeneralCommands.doGetString(Integer, List)`

### GET_LOCALS

    public static final java.lang.String GET_LOCALS

  See Also:
    `GeneralCommands.doGetLocals(Integer, List)`

### GET_LOADED_CLASSES

    public static final java.lang.String GET_LOADED_CLASSES

  See Also:
    `GeneralCommands.doGetLoadedClasses(Integer, List)`

### GET_PATH_INFORMATION

    public static final java.lang.String GET_PATH_INFORMATION

  See Also:
    `GeneralCommands.doGetPathInformation(Integer, List)`

### EVALUATE

    public static final java.lang.String EVALUATE

  See Also:
    `GeneralCommands.doEvaluate(Integer, List)`

### JDE_BUG

    public static final java.lang.String JDE_BUG

  arbitrary lisp functions passed to jde start with this

### JDE_INIT_DEBUG_SESSION

    public static final java.lang.String JDE_INIT_DEBUG_SESSION

  the very first function, indicating that jdebug is up and running

### COMMAND_RESULT

    public static final java.lang.String COMMAND_RESULT

  The command executed properly, returns the result

### COMMAND_ERROR

    public static final java.lang.String COMMAND_ERROR

  There was an error executing the command, returns the error

### MESSAGE

    public static final java.lang.String MESSAGE

  A message to be displayed on the JDE UI

### WARNING

    public static final java.lang.String WARNING

  A warning

### ERROR

    public static final java.lang.String ERROR

  an error

### DEBUG

    public static final java.lang.String DEBUG

  a debug message

### EVENTSET

    public static final java.lang.String EVENTSET

  Event sets caused by the jpda.

### INVALID

    public static final java.lang.String INVALID

  used to construct messages about invalid breakpoints etc.

### REPORT_IDS_IN_USE

    public static final java.lang.String REPORT_IDS_IN_USE

  tell jdebug to inform jdebug about references to objects being currently used. might dissapear soon...

### CONNECTED_TO_VM

    public static final java.lang.String CONNECTED_TO_VM

  Notifies that a connection to a vm was successfully made

### SPEC_RESOLVED

    public static final java.lang.String SPEC_RESOLVED

  Notifies that a spec was resolved properly

### EVENT_BREAKPOINT_HIT

    public static final java.lang.String EVENT_BREAKPOINT_HIT

  See Also:
    `EventHandler.breakpointEvent(BreakpointEvent)`

### EVENT_STEP_COMPLETED

    public static final java.lang.String EVENT_STEP_COMPLETED

  See Also:
    `EventHandler.stepEvent(StepEvent)`

### EVENT_WATCHPOINT_HIT

    public static final java.lang.String EVENT_WATCHPOINT_HIT

  See Also:
    `EventHandler.watchpointEvent(WatchpointEvent)`

### EVENT_CLASS_PREPARE

    public static final java.lang.String EVENT_CLASS_PREPARE

  See Also:
    `EventHandler.classPrepareEvent(ClassPrepareEvent)`

### EVENT_CLASS_UNLOAD

    public static final java.lang.String EVENT_CLASS_UNLOAD

  See Also:
    `EventHandler.classUnloadEvent(ClassUnloadEvent)`

### EVENT_EXCEPTION

    public static final java.lang.String EVENT_EXCEPTION

  See Also:
    `EventHandler.exceptionEvent(ExceptionEvent)`

### EVENT_THREAD_START

    public static final java.lang.String EVENT_THREAD_START

  See Also:
    `EventHandler.threadStartEvent(ThreadStartEvent)`

### EVENT_THREAD_DEATH

    public static final java.lang.String EVENT_THREAD_DEATH

  See Also:
    `EventHandler.threadDeathEvent(ThreadDeathEvent)`

### EVENT_METHOD_ENTRY

    public static final java.lang.String EVENT_METHOD_ENTRY

  See Also:
    `EventHandler.methodEntryEvent(MethodEntryEvent)`

### EVENT_METHOD_EXIT

    public static final java.lang.String EVENT_METHOD_EXIT

  See Also:
    `EventHandler.methodExitEvent(MethodExitEvent)`

### EVENT_VM_START

    public static final java.lang.String EVENT_VM_START

  See Also:
    `EventHandler.vmStartEvent(Event)`

### EVENT_VM_DEATH

    public static final java.lang.String EVENT_VM_DEATH

  See Also:
    `EventHandler.vmDeathEvent(Event)`

### EVENT_VM_DISCONNECT

    public static final java.lang.String EVENT_VM_DISCONNECT

  See Also:
    `EventHandler.vmDisconnectEvent(Event)`

### EVENT_OTHER

    public static final java.lang.String EVENT_OTHER

  See Also:
    `EventHandler.otherEvent(Event)`