<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
<!--NewPage-->
<html>
<head>
<!-- Generated by javadoc on Wed Jul 28 01:21:15 GMT 1999 -->
<title>
  Class sun.tools.debug.RemoteDebugger
</title>
</head>
<body>
<a name="_top_"></a>
<pre>
<a href="packages.html">All Packages</a>  <a href="tree.html">Class Hierarchy</a>  <a href="Package-sun.tools.debug.html">This Package</a>  <a href="sun.tools.debug.RemoteClass.html#_top_">Previous</a>  <a href="sun.tools.debug.RemoteDouble.html#_top_">Next</a>  <a href="AllNames.html">Index</a></pre>
<hr>
<h1>
  Class sun.tools.debug.RemoteDebugger
</h1>
<pre>
<a href="java.lang.Object.html#_top_">java.lang.Object</a>
   |
   +----sun.tools.debug.RemoteDebugger
</pre>
<hr>
<dl>
  <dt> public class <b>RemoteDebugger</b>
  <dt> extends <a href="java.lang.Object.html#_top_">Object</a>
</dl>
The RemoteDebugger class defines a client interface to the Java debugging
 classes.  It is used to instantiate a connection with the Java interpreter
 being debugged.
<p>
<hr>
<a name="index"></a>
<h2>
  <img src="images/constructor-index.gif" width=275 height=38 alt="Constructor Index">
</h2>
<dl>
  <dt> <img src="images/yellow-ball-small.gif" width=6 height=6 alt=" o ">
	<a href="#RemoteDebugger(java.lang.String, sun.tools.debug.DebuggerCallback, boolean)"><b>RemoteDebugger</b></a>(String, DebuggerCallback, boolean)
  <dd>  Create a remote debugger.<P>
 
  <dt> <img src="images/yellow-ball-small.gif" width=6 height=6 alt=" o ">
	<a href="#RemoteDebugger(java.lang.String, java.lang.String, sun.tools.debug.DebuggerCallback, boolean)"><b>RemoteDebugger</b></a>(String, String, DebuggerCallback, boolean)
  <dd>  Create a remote debugger, connecting it with a running Java
 interpreter.<P>To connect to a running interpreter, it must be 
 started with the "-debug" option, whereupon it will print out 
 the password for that debugging session.
</dl>
<h2>
  <img src="images/method-index.gif" width=207 height=38 alt="Method Index">
</h2>
<dl>
  <dt> <img src="images/red-ball-small.gif" width=6 height=6 alt=" o ">
	<a href="#addSystemThread()"><b>addSystemThread</b></a>()
  <dd>  Add the calling thread to the list of threads which aren't
 suspended by the RemoteDebugger.
  <dt> <img src="images/red-ball-small.gif" width=6 height=6 alt=" o ">
	<a href="#addSystemThread(java.lang.Thread)"><b>addSystemThread</b></a>(Thread)
  <dd>  Add the specified thread to the list of threads which aren't
 suspended by the RemoteDebugger.
  <dt> <img src="images/red-ball-small.gif" width=6 height=6 alt=" o ">
	<a href="#close()"><b>close</b></a>()
  <dd>  Close the connection to the remote debugging agent.
  <dt> <img src="images/red-ball-small.gif" width=6 height=6 alt=" o ">
	<a href="#cont()"><b>cont</b></a>()
  <dd>  Continue an execution that has been suspended.
  <dt> <img src="images/red-ball-small.gif" width=6 height=6 alt=" o ">
	<a href="#findClass(java.lang.String)"><b>findClass</b></a>(String)
  <dd>  Find a specified class.
  <dt> <img src="images/red-ball-small.gif" width=6 height=6 alt=" o ">
	<a href="#freeMemory()"><b>freeMemory</b></a>()
  <dd>  Report the free memory available to the Java interpreter being debugged.
  <dt> <img src="images/red-ball-small.gif" width=6 height=6 alt=" o ">
	<a href="#gc(sun.tools.debug.RemoteObject[])"><b>gc</b></a>(RemoteObject[])
  <dd>  Free all objects referenced by the debugger.
  <dt> <img src="images/red-ball-small.gif" width=6 height=6 alt=" o ">
	<a href="#get(java.lang.Integer)"><b>get</b></a>(Integer)
  <dd>  Get an object from the remote object cache.
  <dt> <img src="images/red-ball-small.gif" width=6 height=6 alt=" o ">
	<a href="#getExceptionCatchList()"><b>getExceptionCatchList</b></a>()
  <dd>  Return the list of the exceptions the debugger will stop on.
  <dt> <img src="images/red-ball-small.gif" width=6 height=6 alt=" o ">
	<a href="#getSourcePath()"><b>getSourcePath</b></a>()
  <dd>  Return the source file path the Agent is currently using.
  <dt> <img src="images/red-ball-small.gif" width=6 height=6 alt=" o ">
	<a href="#itrace(boolean)"><b>itrace</b></a>(boolean)
  <dd>  Turn on/off instruction tracing.
  <dt> <img src="images/red-ball-small.gif" width=6 height=6 alt=" o ">
	<a href="#listBreakpoints()"><b>listBreakpoints</b></a>()
  <dd>  Return a list of the breakpoints which are currently set.
  <dt> <img src="images/red-ball-small.gif" width=6 height=6 alt=" o ">
	<a href="#listClasses()"><b>listClasses</b></a>()
  <dd>  List the currently known classes.
  <dt> <img src="images/red-ball-small.gif" width=6 height=6 alt=" o ">
	<a href="#listThreadGroups(sun.tools.debug.RemoteThreadGroup)"><b>listThreadGroups</b></a>(RemoteThreadGroup)
  <dd>  List threadgroups

 
  <dt> <img src="images/red-ball-small.gif" width=6 height=6 alt=" o ">
	<a href="#run(int, java.lang.String[])"><b>run</b></a>(int, String[])
  <dd>  Load and run a runnable Java class, with any optional parameters.
  <dt> <img src="images/red-ball-small.gif" width=6 height=6 alt=" o ">
	<a href="#setSourcePath(java.lang.String)"><b>setSourcePath</b></a>(String)
  <dd>  Specify the list of paths to use when searching for a source file.
  <dt> <img src="images/red-ball-small.gif" width=6 height=6 alt=" o ">
	<a href="#suspend()"><b>suspend</b></a>()
  <dd> GVH SAS # 4046670
 Suspends all non-system threads in the debugged interpreter GVH SAS # 4046670

  <dt> <img src="images/red-ball-small.gif" width=6 height=6 alt=" o ">
	<a href="#totalMemory()"><b>totalMemory</b></a>()
  <dd>  Report the total memory usage of the Java interpreter being debugged.
  <dt> <img src="images/red-ball-small.gif" width=6 height=6 alt=" o ">
	<a href="#trace(boolean)"><b>trace</b></a>(boolean)
  <dd>  Turn on/off method call tracing.
</dl>
<a name="constructors"></a>
<h2>
  <img src="images/constructors.gif" width=231 height=38 alt="Constructors">
</h2>
<a name="RemoteDebugger"></a>
<a name="RemoteDebugger(java.lang.String, java.lang.String, sun.tools.debug.DebuggerCallback, boolean)"><img src="images/yellow-ball.gif" width=12 height=12 alt=" o "></a>
<b>RemoteDebugger</b>
<pre>
 public RemoteDebugger(<a href="java.lang.String.html#_top_">String</a> host,
                       <a href="java.lang.String.html#_top_">String</a> password,
                       <a href="sun.tools.debug.DebuggerCallback.html#_top_">DebuggerCallback</a> client,
                       boolean verbose) throws <a href="java.lang.Exception.html#_top_">Exception</a>
</pre>
<dl>
  <dd> Create a remote debugger, connecting it with a running Java
 interpreter.<P>To connect to a running interpreter, it must be 
 started with the "-debug" option, whereupon it will print out 
 the password for that debugging session.
<p>
  <dd><dl>
    <dt> <b>Parameters:</b>
    <dd> host - the name of the system where a debuggable Java instance is running (default is localhost).
    <dd> password - the password reported by the debuggable Java instance.  This should be null when starting a client interpreter.
    <dd> client - the object to which notification messages are sent (it must support the DebuggerCallback interface)
    <dd> verbose - turn on internal debugger message text
    <dt> <b>Throws:</b> <a href="java.lang.Exception.html#_top_">Exception</a>
    <dd> if a general exception occurs.
  </dl></dd>
</dl>
<a name="RemoteDebugger(java.lang.String, sun.tools.debug.DebuggerCallback, boolean)"><img src="images/yellow-ball.gif" width=12 height=12 alt=" o "></a>
<b>RemoteDebugger</b>
<pre>
 public RemoteDebugger(<a href="java.lang.String.html#_top_">String</a> javaArgs,
                       <a href="sun.tools.debug.DebuggerCallback.html#_top_">DebuggerCallback</a> client,
                       boolean verbose) throws <a href="java.lang.Exception.html#_top_">Exception</a>
</pre>
<dl>
  <dd> Create a remote debugger.<P>
<p>
  <dd><dl>
    <dt> <b>Parameters:</b>
    <dd> javaArgs - optional java command-line parameters, such as -classpath
    <dd> client - the object to which notification messages are sent (it must support the DebuggerCallback interface)
    <dd> verbose - turn on internal debugger message text
    <dt> <b>Throws:</b> <a href="java.lang.Exception.html#_top_">Exception</a>
    <dd> if a general exception occurs.
  </dl></dd>
</dl>
<a name="methods"></a>
<h2>
  <img src="images/methods.gif" width=151 height=38 alt="Methods">
</h2>
<a name="close()"><img src="images/red-ball.gif" width=12 height=12 alt=" o "></a>
<a name="close"><b>close</b></a>
<pre>
 public void close()
</pre>
<dl>
  <dd> Close the connection to the remote debugging agent.
<p>
</dl>
<a name="get(java.lang.Integer)"><img src="images/red-ball.gif" width=12 height=12 alt=" o "></a>
<a name="get"><b>get</b></a>
<pre>
 public <a href="sun.tools.debug.RemoteObject.html#_top_">RemoteObject</a> get(<a href="java.lang.Integer.html#_top_">Integer</a> id)
</pre>
<dl>
  <dd> Get an object from the remote object cache.
<p>
  <dd><dl>
    <dt> <b>Parameters:</b>
    <dd> id - the remote object's id
    <dt> <b>Returns:</b>
    <dd> the specified RemoteObject, or null if not cached.
  </dl></dd>
</dl>
<a name="listClasses()"><img src="images/red-ball.gif" width=12 height=12 alt=" o "></a>
<a name="listClasses"><b>listClasses</b></a>
<pre>
 public <a href="sun.tools.debug.RemoteClass.html#_top_">RemoteClass</a>[] listClasses() throws <a href="java.lang.Exception.html#_top_">Exception</a>
</pre>
<dl>
  <dd> List the currently known classes.
<p>
  <dd><dl>
    <dt> <b>Throws:</b> <a href="java.lang.Exception.html#_top_">Exception</a>
    <dd> if a general exception occurs.
  </dl></dd>
</dl>
<a name="findClass(java.lang.String)"><img src="images/red-ball.gif" width=12 height=12 alt=" o "></a>
<a name="findClass"><b>findClass</b></a>
<pre>
 public <a href="sun.tools.debug.RemoteClass.html#_top_">RemoteClass</a> findClass(<a href="java.lang.String.html#_top_">String</a> name) throws <a href="java.lang.Exception.html#_top_">Exception</a>
</pre>
<dl>
  <dd> Find a specified class.  If the class isn't already known by the
 remote debugger, the lookup request will be passed to the Java
 interpreter being debugged.
 NOTE:  Substrings, such as "String" for "java.lang.String" will
 return with the first match, and will not be successfully found
 if the request is passed to the remote interpreter.
<p>
  <dd><dl>
    <dt> <b>Parameters:</b>
    <dd> name - the name (or a substring of the name)of the class
    <dt> <b>Returns:</b>
    <dd> the specified (Remote)Class, or null if not found.
    <dt> <b>Throws:</b> <a href="java.lang.Exception.html#_top_">Exception</a>
    <dd> if a general exception occurs.
  </dl></dd>
</dl>
<a name="listThreadGroups(sun.tools.debug.RemoteThreadGroup)"><img src="images/red-ball.gif" width=12 height=12 alt=" o "></a>
<a name="listThreadGroups"><b>listThreadGroups</b></a>
<pre>
 public <a href="sun.tools.debug.RemoteThreadGroup.html#_top_">RemoteThreadGroup</a>[] listThreadGroups(<a href="sun.tools.debug.RemoteThreadGroup.html#_top_">RemoteThreadGroup</a> tg) throws <a href="java.lang.Exception.html#_top_">Exception</a>
</pre>
<dl>
  <dd> List threadgroups
<p>
  <dd><dl>
    <dt> <b>Parameters:</b>
    <dd> tg - the threadgroup which hold the groups to be listed, or null for all threadgroups
    <dt> <b>Throws:</b> <a href="java.lang.Exception.html#_top_">Exception</a>
    <dd> if a general exception occurs.
  </dl></dd>
</dl>
<a name="cont()"><img src="images/red-ball.gif" width=12 height=12 alt=" o "></a>
<a name="cont"><b>cont</b></a>
<pre>
 public void cont() throws <a href="java.lang.Exception.html#_top_">Exception</a>
</pre>
<dl>
  <dd> Continue an execution that has been suspended.  Restarts all threads 
 suspended by virtue of having encountered a breakpoint or step.
<p>
</dl>
<a name="suspend()"><img src="images/red-ball.gif" width=12 height=12 alt=" o "></a>
<a name="suspend"><b>suspend</b></a>
<pre>
 public void suspend() throws <a href="java.lang.Exception.html#_top_">Exception</a>
</pre>
<dl>
  <dd> GVH SAS # 4046670
 Suspends all non-system threads in the debugged interpreter GVH SAS # 4046670
<p>
</dl>
<a name="gc(sun.tools.debug.RemoteObject[])"><img src="images/red-ball.gif" width=12 height=12 alt=" o "></a>
<a name="gc"><b>gc</b></a>
<pre>
 public void gc(<a href="sun.tools.debug.RemoteObject.html#_top_">RemoteObject</a> save_list[]) throws <a href="java.lang.Exception.html#_top_">Exception</a>
</pre>
<dl>
  <dd> Free all objects referenced by the debugger.
 The remote debugger maintains a copy of each object it has examined,
 so that references won't become invalidated by the garbage collector
 of the Java interpreter being debugged.  The gc() method frees all
 all of these references, except those specified to save.
<p>
  <dd><dl>
    <dt> <b>Parameters:</b>
    <dd> save_list - the list of objects to save.
    <dt> <b>Throws:</b> <a href="java.lang.Exception.html#_top_">Exception</a>
    <dd> if a general exception occurs.
  </dl></dd>
</dl>
<a name="trace(boolean)"><img src="images/red-ball.gif" width=12 height=12 alt=" o "></a>
<a name="trace"><b>trace</b></a>
<pre>
 public void trace(boolean traceOn) throws <a href="java.lang.Exception.html#_top_">Exception</a>
</pre>
<dl>
  <dd> Turn on/off method call tracing.
 When turned on, each method call is reported to the stdout of the
 Java interpreter being debugged.  This output is not captured in
 any way by the remote debugger.
<p>
  <dd><dl>
    <dt> <b>Parameters:</b>
    <dd> traceOn - turn tracing on or off
    <dt> <b>Throws:</b> <a href="java.lang.Exception.html#_top_">Exception</a>
    <dd> if a general exception occurs.
  </dl></dd>
</dl>
<a name="itrace(boolean)"><img src="images/red-ball.gif" width=12 height=12 alt=" o "></a>
<a name="itrace"><b>itrace</b></a>
<pre>
 public void itrace(boolean traceOn) throws <a href="java.lang.Exception.html#_top_">Exception</a>
</pre>
<dl>
  <dd> Turn on/off instruction tracing.
 When turned on, each Java instruction is reported to the stdout of the
 Java interpreter being debugged.  This output is not captured in
 any way by the remote debugger.
<p>
  <dd><dl>
    <dt> <b>Parameters:</b>
    <dd> traceOn - turn tracing on or off
    <dt> <b>Throws:</b> <a href="java.lang.Exception.html#_top_">Exception</a>
    <dd> if a general exception occurs.
  </dl></dd>
</dl>
<a name="totalMemory()"><img src="images/red-ball.gif" width=12 height=12 alt=" o "></a>
<a name="totalMemory"><b>totalMemory</b></a>
<pre>
 public int totalMemory() throws <a href="java.lang.Exception.html#_top_">Exception</a>
</pre>
<dl>
  <dd> Report the total memory usage of the Java interpreter being debugged.
<p>
  <dd><dl>
    <dt> <b>Throws:</b> <a href="java.lang.Exception.html#_top_">Exception</a>
    <dd> if a general exception occurs.
  </dl></dd>
</dl>
<a name="freeMemory()"><img src="images/red-ball.gif" width=12 height=12 alt=" o "></a>
<a name="freeMemory"><b>freeMemory</b></a>
<pre>
 public int freeMemory() throws <a href="java.lang.Exception.html#_top_">Exception</a>
</pre>
<dl>
  <dd> Report the free memory available to the Java interpreter being debugged.
<p>
  <dd><dl>
    <dt> <b>Throws:</b> <a href="java.lang.Exception.html#_top_">Exception</a>
    <dd> if a general exception occurs.
  </dl></dd>
</dl>
<a name="run(int, java.lang.String[])"><img src="images/red-ball.gif" width=12 height=12 alt=" o "></a>
<a name="run"><b>run</b></a>
<pre>
 public <a href="sun.tools.debug.RemoteThreadGroup.html#_top_">RemoteThreadGroup</a> run(int argc,
                              <a href="java.lang.String.html#_top_">String</a> argv[]) throws <a href="java.lang.Exception.html#_top_">Exception</a>
</pre>
<dl>
  <dd> Load and run a runnable Java class, with any optional parameters.
 The class is started inside a new threadgroup in the Java interpreter
 being debugged.
 NOTE:  Although it is possible to run multiple runnable classes from
 the same Java interpreter, there is no guarantee that all applets
 will work cleanly with each other.  For example, two applets may want
 exclusive access to the same shared resource,such as a specific port.
<p>
  <dd><dl>
    <dt> <b>Parameters:</b>
    <dd> argc - the number of parameters
    <dd> argv - the array of parameters:  the class to be run is
 first, followed by any optional parameters used by that class.
    <dt> <b>Returns:</b>
    <dd> the new ThreadGroup the class is running in, or null on error
    <dt> <b>Throws:</b> <a href="java.lang.Exception.html#_top_">Exception</a>
    <dd> if a general exception occurs.
  </dl></dd>
</dl>
<a name="listBreakpoints()"><img src="images/red-ball.gif" width=12 height=12 alt=" o "></a>
<a name="listBreakpoints"><b>listBreakpoints</b></a>
<pre>
 public <a href="java.lang.String.html#_top_">String</a>[] listBreakpoints() throws <a href="java.lang.Exception.html#_top_">Exception</a>
</pre>
<dl>
  <dd> Return a list of the breakpoints which are currently set.
<p>
  <dd><dl>
    <dt> <b>Returns:</b>
    <dd> an array of Strings of the form "class_name:line_number".
    <dt> <b>Throws:</b> <a href="java.lang.Exception.html#_top_">Exception</a>
    <dd> if a general exception occurs.
  </dl></dd>
</dl>
<a name="getExceptionCatchList()"><img src="images/red-ball.gif" width=12 height=12 alt=" o "></a>
<a name="getExceptionCatchList"><b>getExceptionCatchList</b></a>
<pre>
 public <a href="java.lang.String.html#_top_">String</a>[] getExceptionCatchList() throws <a href="java.lang.Exception.html#_top_">Exception</a>
</pre>
<dl>
  <dd> Return the list of the exceptions the debugger will stop on.
<p>
  <dd><dl>
    <dt> <b>Returns:</b>
    <dd> an array of exception class names, which may be zero-length.
    <dt> <b>Throws:</b> <a href="java.lang.Exception.html#_top_">Exception</a>
    <dd> if a general exception occurs.
  </dl></dd>
</dl>
<a name="getSourcePath()"><img src="images/red-ball.gif" width=12 height=12 alt=" o "></a>
<a name="getSourcePath"><b>getSourcePath</b></a>
<pre>
 public <a href="java.lang.String.html#_top_">String</a> getSourcePath() throws <a href="java.lang.Exception.html#_top_">Exception</a>
</pre>
<dl>
  <dd> Return the source file path the Agent is currently using.
<p>
  <dd><dl>
    <dt> <b>Returns:</b>
    <dd> a string consisting of a list of colon-delineated paths.
    <dt> <b>Throws:</b> <a href="java.lang.Exception.html#_top_">Exception</a>
    <dd> if a general exception occurs.
  </dl></dd>
</dl>
<a name="setSourcePath(java.lang.String)"><img src="images/red-ball.gif" width=12 height=12 alt=" o "></a>
<a name="setSourcePath"><b>setSourcePath</b></a>
<pre>
 public void setSourcePath(<a href="java.lang.String.html#_top_">String</a> pathList) throws <a href="java.lang.Exception.html#_top_">Exception</a>
</pre>
<dl>
  <dd> Specify the list of paths to use when searching for a source file.
<p>
  <dd><dl>
    <dt> <b>Parameters:</b>
    <dd> pathList - a string consisting of a list of colon-delineated paths.
    <dt> <b>Throws:</b> <a href="java.lang.Exception.html#_top_">Exception</a>
    <dd> if a general exception occurs.
  </dl></dd>
</dl>
<a name="addSystemThread()"><img src="images/red-ball.gif" width=12 height=12 alt=" o "></a>
<a name="addSystemThread"><b>addSystemThread</b></a>
<pre>
 public void addSystemThread()
</pre>
<dl>
  <dd> Add the calling thread to the list of threads which aren't
 suspended by the RemoteDebugger.  Typically these are only
 threads used by a debugger client.  The thread which created
 the RemoteDebugger instance is automatically added, as is
 the AgentIn and other debugger-specific threads.
<p>
</dl>
<a name="addSystemThread(java.lang.Thread)"><img src="images/red-ball.gif" width=12 height=12 alt=" o "></a>
<a name="addSystemThread"><b>addSystemThread</b></a>
<pre>
 public void addSystemThread(<a href="java.lang.Thread.html#_top_">Thread</a> t)
</pre>
<dl>
  <dd> Add the specified thread to the list of threads which aren't
 suspended by the RemoteDebugger.  Typically these are only
 threads used by a debugger client.  The thread which created
 the RemoteDebugger instance is automatically added, as is
 the AgentIn and other debugger-specific threads.
<p>
</dl>
<hr>
<pre>
<a href="packages.html">All Packages</a>  <a href="tree.html">Class Hierarchy</a>  <a href="Package-sun.tools.debug.html">This Package</a>  <a href="sun.tools.debug.RemoteClass.html#_top_">Previous</a>  <a href="sun.tools.debug.RemoteDouble.html#_top_">Next</a>  <a href="AllNames.html">Index</a></pre>
</body>
</html>
