jde.debugger
Interface Protocol

All Known Subinterfaces:
ReferenceTypeSpec
All Known Implementing Classes:
CommandStream, JDEException, Main, Rep, DebuggeeProcess, ObjectStore, JDEbug, ProcessCommands, EventHandler, Debug, JDE, SessionManager, Debugger, DebuggeeSIO, DebugCommand, CommandHandler, GUI, EventRequestSpec, EventRequestSpecList

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
Version:
$Revision: 1.3 $
Author:
Amit Kumar

Field Summary
static int APP_IO
          Trace application I/O - CURRENTLY NOT USED
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 boolean CMD_NOK
           
static boolean CMD_OK
           
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 int COMMANDS
          Trace command execution
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 int EVENTS
          Trace anything related to events.
static java.lang.String EVENTSET
          Event sets caused by the jpda.
static int EXCEPTION
          Trace exceptions
static java.lang.String EXIT
           
static java.lang.String FINISH
           
static int FRAMEWORK
          Trace the functioning of the framework: debugging process administration, etc.
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 int GUI
          Trace GUI
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 int JDE_PIPE
          Trace pipe between Emacs and Java - CURRENTLY NOT USED
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 int NONE
          No trace output
static boolean NOQUOTE
           
static java.lang.String QUIT
           
static boolean QUOTE
           
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:
LaunchApplication

ATTACH_SOCKET

public static final java.lang.String ATTACH_SOCKET
See Also:
AttachSocket

ATTACH_SHMEM

public static final java.lang.String ATTACH_SHMEM
See Also:
AttachShmem

LISTEN_SOCKET

public static final java.lang.String LISTEN_SOCKET
See Also:
ListenSocket

LISTEN_SHMEM

public static final java.lang.String LISTEN_SHMEM
See Also:
ListenShmem

QUIT

public static final java.lang.String QUIT
See Also:
Quit

EXIT

public static final java.lang.String EXIT
See Also:
Quit

RUN

public static final java.lang.String RUN
See Also:
Run

FINISH

public static final java.lang.String FINISH
See Also:
Finish

TRACE_CLASSES

public static final java.lang.String TRACE_CLASSES
See Also:
TraceClasses

CANCEL_TRACE_CLASSES

public static final java.lang.String CANCEL_TRACE_CLASSES
See Also:
CancelTraceClasses

TRACE_EXCEPTIONS

public static final java.lang.String TRACE_EXCEPTIONS
See Also:
TraceExceptions

WATCH

public static final java.lang.String WATCH
See Also:
Watch

BREAK

public static final java.lang.String BREAK
See Also:
Break

CLEAR

public static final java.lang.String CLEAR
See Also:
Clear

STEP

public static final java.lang.String STEP
See Also:
Step

SUSPEND

public static final java.lang.String SUSPEND
See Also:
Suspend

RESUME

public static final java.lang.String RESUME
See Also:
Resume

INTERRUPT

public static final java.lang.String INTERRUPT
See Also:
Interrupt

KILL_THREAD

public static final java.lang.String KILL_THREAD
See Also:
KillThread

GET_THREADS

public static final java.lang.String GET_THREADS
See Also:
GetThreads

GET_THREAD

public static final java.lang.String GET_THREAD
See Also:
GetThread

GET_OBJECT_MONITORS

public static final java.lang.String GET_OBJECT_MONITORS
See Also:
GetObjectMonitors

TRACE_THREADS

public static final java.lang.String TRACE_THREADS
See Also:
TraceThreads

CANCEL_TRACE_THREADS

public static final java.lang.String CANCEL_TRACE_THREADS
See Also:
CancelTraceThreads

TRACE_METHODS

public static final java.lang.String TRACE_METHODS
See Also:
TraceMethods

CANCEL_TRACE_METHODS

public static final java.lang.String CANCEL_TRACE_METHODS
See Also:
CancelTraceMethods

GET_OBJECT

public static final java.lang.String GET_OBJECT
See Also:
GetObject

GET_ARRAY

public static final java.lang.String GET_ARRAY
See Also:
GetArray

GET_STRING

public static final java.lang.String GET_STRING
See Also:
GetString

GET_LOCALS

public static final java.lang.String GET_LOCALS
See Also:
GetLocals

GET_LOADED_CLASSES

public static final java.lang.String GET_LOADED_CLASSES
See Also:
GetLoadedClasses

GET_PATH_INFORMATION

public static final java.lang.String GET_PATH_INFORMATION
See Also:
GetPathInfo

EVALUATE

public static final java.lang.String EVALUATE
See Also:
EvaluateExpression

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)

QUOTE

public static final boolean QUOTE

NOQUOTE

public static final boolean NOQUOTE

CMD_OK

public static final boolean CMD_OK

CMD_NOK

public static final boolean CMD_NOK

NONE

public static final int NONE
No trace output

APP_IO

public static final int APP_IO
Trace application I/O - CURRENTLY NOT USED

JDE_PIPE

public static final int JDE_PIPE
Trace pipe between Emacs and Java - CURRENTLY NOT USED

EVENTS

public static final int EVENTS
Trace anything related to events.

EXCEPTION

public static final int EXCEPTION
Trace exceptions

FRAMEWORK

public static final int FRAMEWORK
Trace the functioning of the framework: debugging process administration, etc.

COMMANDS

public static final int COMMANDS
Trace command execution

GUI

public static final int GUI
Trace GUI