java.lang.Object
javax.ide.Service
javax.ide.debug.Debugger
- public abstract class Debugger
- extends javax.ide.Service
The Debugger can be used to start the debuggee or to
retrieve command line options so the extension can start the debuggee
itself.
IDE providers must provide an implementation of getClientConnector( Context ) 55
and getServerConnector(Context) 55 .
| Fields inherited from class javax.ide.Service |
|
| Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Debugger
public Debugger()
getServerConnector
public abstract ServerConnector getServerConnector(javax.ide.command.Context context)
throws java.lang.UnsupportedOperationException
- Creates a server connector for a debugging session. The
ServerConnector object returned can be used to start the
debuggee or to retrieve command line options so the extension can start
the debuggee itself.
If the extension wants to start the the debuggee itself, it should
call
Connector.getOptions() 55 to retrieve the command line
options that it should use to start the debuggee.
If the extension wants to start a third party container (such as
Tomcat, WebLogic, Avalon based systems, properietary based
systems, etc.), it can ignore options that are specific to the
IDE's preferred container (for example, the extension may ignore the
values corresponding to the Connector.OPTION_MAIN_CLASS 55
key). The extension should not ignore the values corresponding to
the Connector.OPTION_DEBUG_FIRST 55 and
Connector.OPTION_DEBUG_LAST 55 keys, as these are dictated
by the IDE so that the debugger will be able connect with the
debuggee.
If the extension wants the IDE to start the debuggee, it should call
Connector.startDebuggee(java.util.Map) 55 .
The returned Connector will implement ServerConnector. The
extension writer should call ServerConnector.startListening() 55 to
start the debugger listening, and then the extension should either start
the debuggee process or tell the IDE to do so by calling Connector.startDebuggee(java.util.Map) 55 . When the debuggee process is launched,
the listening debugger will automatically accept the connection.
getClientConnector
public abstract ClientConnector getClientConnector(javax.ide.command.Context context)
throws java.lang.UnsupportedOperationException
- Creates a client connector for a debugging session. The
ClientConnector object returned can be used to start the
debuggee or to retrieve command line options so the extension can start
the debuggee itself.
If the extension wants to start the the debuggee itself, it should
call
Connector.getOptions() 55 to retrieve the command line
options that it should use to start the debuggee.
If the extension wants to start a third party container (such as
Tomcat, WebLogic, Avalon based systems, properietary based
systems, etc.), it can ignore options that are specific to the
IDE's preferred container (for example, the extension may ignore the
values corresponding to the Connector.OPTION_MAIN_CLASS 55
key). The extension should not ignore the values corresponding to
the Connector.OPTION_DEBUG_FIRST 55 and
Connector.OPTION_DEBUG_LAST 55 keys, as these are dictated
by the IDE so that the debugger will be able connect with the
debuggee.
If the extension wants the IDE to start the debuggee, it should call
Connector.startDebuggee(java.util.Map) 55 .
The returned Connector will implement ClientConnector. The
extension writer should either start the debuggee process or tell the
IDE to do so by calling Connector.startDebuggee(java.util.Map) 55 , and then the
extension writer should call ClientConnector.attachDebugger() 55 to
tell the debugger to attach to the debuggee.
getDebugger
public static Debugger getDebugger()
- Get the debugger implementation for this IDE.