|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: INNER | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object | +--jde.debugger.Debugger
The main class for debugging a specific process. A Debugger instance handles the following tasks:
m_handler
)m_eventHandler
)m_eventRequestSpecList
)m_objectStore
)m_sio
Field Summary | |
protected java.util.Map |
m_identifiableEventRequests
This map stores the event requests that are NOT specs. |
Constructor Summary | |
Debugger(java.lang.Integer procID,
boolean useGUI)
Creates a new Debugger instance. |
Method Summary | |
void |
addCommandListener(CommandListener listener)
Add an CommandListener. |
void |
addEventSetListener(EventSetListener listener)
Add an EventSetListener. |
java.lang.Long |
addIdentifiableRequest(com.sun.jdi.request.EventRequest e)
Adds an event request to the identifiable events, for future reference. |
void |
attachVMShmem(java.util.List args)
Attaches to a currently running VM through shared memory. |
void |
attachVMSocket(java.util.List args)
Attaches to a currently running VM through socket communication. |
void |
deleteIdentifiableRequest(java.lang.Long id)
Removes an event request. |
CommandHandler |
getCommandHandler()
|
EventRequestSpecList |
getEventRequestSpecList()
|
GUI |
getGUI()
|
java.lang.Integer |
getProcID()
|
ObjectStore |
getStore()
|
com.sun.jdi.ThreadReference |
getThreadReference(java.lang.String name)
Returns the thread corresponding to a given name, or null if there is no such thread. |
com.sun.jdi.VirtualMachine |
getVM()
|
boolean |
isValid()
Returns true if this is a valid debugger. |
void |
launchVM(java.lang.Integer cmdID,
java.util.List args)
Launches a virtual machine for the process to be debugged, and sets up the standard in/out/err streams for the process. |
void |
listenShmem(java.lang.String address)
Starts a thread that waits for a VM to be launched and connect to a given address using shared memory. |
void |
listenSocket(java.lang.String address)
Starts a thread that waits for a VM to be launched and connect to a given address using socket communication. |
void |
removeCommandListener(CommandListener listener)
Remove an CommandListener. |
void |
removeEventSetListener(EventSetListener listener)
Remove an EventSetListener. |
void |
shutdown()
Shuts the debugger down and deregisters it from the SessionManager. |
void |
signalCommandResult(java.lang.Integer cmdID,
java.lang.String message,
boolean success)
|
void |
signalCommandResult(java.lang.Integer cmdID,
java.lang.String message,
boolean success,
boolean quote)
|
void |
start()
Starts up the threads that make the debugger go. |
void |
stopExecution()
Tells the debugger to stop executing, meaning that the VM is shut down. |
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Field Detail |
protected java.util.Map m_identifiableEventRequests
Of course, the id is sent back to the user when the actual command is responded to, so that the handle is available to jde in the first place
Constructor Detail |
public Debugger(java.lang.Integer procID, boolean useGUI)
Debugger
instance. Before the
instance can be used, the following things must happen:
launchVM()
, attachVMShmem()
, attachVMSocket()
,
listenShmem()
, or listenSocket()
.start
method.procID
- an Integer
value identifying this
process in the communication with Emacs.Method Detail |
public void start() throws JDEException
JDEException
- if an error occurspublic void stopExecution()
EventHandler#vmDisconnectEvent
public void shutdown() throws JDEException
JDEException
- if an error occursSessionManager.deregisterDebugger(jde.debugger.Debugger)
public void launchVM(java.lang.Integer cmdID, java.util.List args) throws JDEException
cmdID
- an Integer
value used for setting up
SIO streams.args
- a List
valueJDEException
- if an error occurspublic void attachVMShmem(java.util.List args) throws JDEException
args
- a List
valueJDEException
- if an error occurspublic void attachVMSocket(java.util.List args) throws JDEException
args
- a List
valueJDEException
- if an error occurspublic void listenShmem(java.lang.String address) throws JDEException
address
- a String
valueJDEException
- if an error occurspublic void listenSocket(java.lang.String address) throws JDEException
address
- a String
valueJDEException
- if an error occurspublic EventRequestSpecList getEventRequestSpecList()
public CommandHandler getCommandHandler()
public java.lang.Integer getProcID()
public ObjectStore getStore()
public void signalCommandResult(java.lang.Integer cmdID, java.lang.String message, boolean success)
public void signalCommandResult(java.lang.Integer cmdID, java.lang.String message, boolean success, boolean quote)
public com.sun.jdi.VirtualMachine getVM()
public GUI getGUI()
public boolean isValid()
boolean
valuepublic com.sun.jdi.ThreadReference getThreadReference(java.lang.String name)
name
- public java.lang.Long addIdentifiableRequest(com.sun.jdi.request.EventRequest e)
public void deleteIdentifiableRequest(java.lang.Long id) throws JDEException
public void addEventSetListener(EventSetListener listener)
This is handled by the eventHandler, but there is no public access to that
public void removeEventSetListener(EventSetListener listener)
public void addCommandListener(CommandListener listener)
public void removeCommandListener(CommandListener listener)
|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: INNER | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |