jde.debugger
Class ThreadCommands

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

public class ThreadCommands
extends ApplicationCommands

ThreadCommands.java

Handles thread related commands. Jump to 'suspend', resume', 'interrupt', kill_thread, 'get_thread', 'get_thread', 'get_object_monitors', 'trace_threads', 'cancel_trace_threads'

Created: Fri Jul 30 16:04:07 1999

Since:
0.1

Fields inherited from class jde.debugger.ApplicationCommands
app, identifiableEventRequests, store
 
Constructor Summary
ThreadCommands(Application a, ObjectStore s)
           
 
Method Summary
 void doCancelTraceThreads(java.lang.Integer cmd_id, java.util.List args)
          'cancel_trace_threads' command.
 void doGetObjectMonitors(java.lang.Integer cmd_id, java.util.List args)
          'get_object_monitors' command.
 void doGetThread(java.lang.Integer cmd_id, java.util.List args)
          'get_thread' command.
 void doGetThreads(java.lang.Integer cmd_id, java.util.List args)
          List all threads.
 void doInterrupt(java.lang.Integer cmd_id, java.util.List args)
          'interrupt' command.
 void doKillThread(java.lang.Integer cmd_id, java.util.List args)
          'kill' command.
 void doResume(java.lang.Integer cmd_id, java.util.List args)
          'resume' command.
 void doSuspend(java.lang.Integer cmd_id, java.util.List args)
          'suspend' command.
 void doTraceThreads(java.lang.Integer cmd_id, java.util.List args)
          'trace_threads' command.
(package private) static LispForm getAllThreadsInformation(com.sun.jdi.VirtualMachine vm, ObjectStore store)
          Returns a representation of all the threads and threadgroups in the VM.
(package private) static com.sun.jdi.ThreadReference getThread(com.sun.jdi.VirtualMachine vm, java.lang.String name)
          Returns the thread corresponding to this name
 
Methods inherited from class jde.debugger.ApplicationCommands
addIdentifiableRequest, deleteIdentifiableRequest
 
Methods inherited from class java.lang.Object
, clone, equals, finalize, getClass, hashCode, notify, notifyAll, registerNatives, toString, wait, wait, wait
 

Constructor Detail

ThreadCommands

public ThreadCommands(Application a,
                      ObjectStore s)
Method Detail

doSuspend

public void doSuspend(java.lang.Integer cmd_id,
                      java.util.List args)
               throws JDEException
'suspend' command.

Syntax:

 suspend [threadID]*
 
Comments:

doResume

public void doResume(java.lang.Integer cmd_id,
                     java.util.List args)
              throws JDEException
'resume' command.

Syntax:

 resume [threadID]*
 
Comments:

doInterrupt

public void doInterrupt(java.lang.Integer cmd_id,
                        java.util.List args)
                 throws JDEException
'interrupt' command.

Syntax:

 interrupt [threadID]+
 
Comments:

doKillThread

public void doKillThread(java.lang.Integer cmd_id,
                         java.util.List args)
                  throws JDEException
'kill' command. Kill a thread with a given exception object.

Syntax:

 kill_thread threadID exceptionObjectID
 
Comments:

doGetThreads

public void doGetThreads(java.lang.Integer cmd_id,
                         java.util.List args)
                  throws JDEException
List all threads. 'get_threads' command.

Syntax:

 get_threads
 
Returns:
 (jde-dbo-command-result cmd_id thread-info)
 
Comments:

getAllThreadsInformation

static LispForm getAllThreadsInformation(com.sun.jdi.VirtualMachine vm,
                                         ObjectStore store)
Returns a representation of all the threads and threadgroups in the VM. For example:
              ThreadGroup-1
                  +- ThreadGroup-2
                  |        +- ThreadGroup-3
                  |        |        \- Thread-1
                  |        +- ThreadGroup-4
                  |        |        +- Thread-2
                  |        |        \- Thread-3
                  |        \- Thread-4
                  \- Thread-5
              ThreadGroup-5
                  +- Thread-6


          (list
            (list "ThreadGroup"  "ThreadGroup-1"
              (list 
                (list "Thread"  "Thread-5" ...))
              (list 
                (list "ThreadGroup"  "ThreadGroup-2"
                  (list 
                    (list "Thread"  "Thread-4"))
                  (list 
                    (list "ThreadGroup"  "ThreadGroup-3"
                      (list)
                      (list 
                        (list "Thread"  "Thread-1" ...)))
                    (list "ThreadGroup"  "ThreadGroup-4"
                      (list)
                        (list
                          (list "Thread"  "Thread-2" ...)
                          (list "Thread"  "Thread-3" ...)))))))
          (list "ThreadGroup"  "ThreadGroup-5"
            (list)
              (list
                (list "Thread"  "Thread-6" ...))))
 
Syntax:
 (list [top-level thread group]*)
 
Parameters:
vm - The virtual machine itself
store - The object store where you should keep references to the thread ids. For details, see ObjectStore

getThread

static com.sun.jdi.ThreadReference getThread(com.sun.jdi.VirtualMachine vm,
                                             java.lang.String name)
Returns the thread corresponding to this name

doGetThread

public void doGetThread(java.lang.Integer cmd_id,
                        java.util.List args)
                 throws JDEException
'get_thread' command. List a thread in more detail.

Syntax:

 get_thread threadID
 
Returns:
 (jde-dbo-command-result cmd_id detailed-thread-info)
 
Comments:

doGetObjectMonitors

public void doGetObjectMonitors(java.lang.Integer cmd_id,
                                java.util.List args)
                         throws JDEException
'get_object_monitors' command. Information about the monitors corresponding to a particular object.

Syntax:

 get_object_monitors objectID
 
Returns:
 (jde-dbo-command-result cmd_id object-monitors-info)
 

doTraceThreads

public void doTraceThreads(java.lang.Integer cmd_id,
                           java.util.List args)
                    throws JDEException
'trace_threads' command.

Syntax:

 trace_threads type [threadID]
      [suspend-policy]
 
Comments:

See Also:
EventHandler.threadStartEvent(ThreadStartEvent), EventHandler.threadDeathEvent(ThreadDeathEvent)

doCancelTraceThreads

public void doCancelTraceThreads(java.lang.Integer cmd_id,
                                 java.util.List args)
                          throws JDEException
'cancel_trace_threads' command.

Syntax:

 cancel_trace_threads requestID
 
Comments: