0N/A<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML//EN">
0N/A<html>
0N/A <head>
0N/A <title>Java(tm) Debug Interface</title>
0N/A </head>
0N/A <body>
0N/A The Java<sup><font size="-2">TM</font></sup>
0N/A Debug Interface (JDI) is a high level Java
0N/AAPI providing information useful for debuggers and similiar
0N/Asystems needing access to the running state of a (usually remote)
0N/Avirtual machine.
0N/A<p>
0N/A The JDI provides introspective
0N/Aaccess to a running virtual machine's state, Class, Array,
0N/AInterface, and primitive types, and instances of those
0N/Atypes.
0N/A<P>
0N/AThe JDI also provides explicit control over
0N/Aa virtual machine's execution. The ability to suspend
0N/Aand resume threads, and to set breakpoints, watchpoints, ...
0N/ANotification
0N/Aof exceptions, class loading, thread creation...
0N/AThe ability to inspect a suspended thread's state,
0N/Alocal variables, stack backtrace...
0N/A<p>
0N/AJDI is the highest-layer of the Java Platform Debugger Architecture (JPDA).
0N/AFor more information on the Java Platform Debugger Architecture, see the
0N/A<a href="{@docRoot}/technotes/guides/jpda/index.html">
0N/AJava Platform Debugger Architecture documentation</a>
0N/Afor this release and the
0N/A<a href="http://java.sun.com/products/jpda">Java Platform Debugger Architecture website</a>.
0N/A<p>
0N/A<font size="+1"><b>Global Exceptions:</b></font>
0N/A<p>
0N/AThis section documents exceptions which apply to the entire API and are thus
0N/Anot documented on individual methods.
0N/A
0N/A <blockquote>
0N/A <p>
0N/A <b>{@link com.sun.jdi.VMMismatchException}</b>
0N/A <p>
0N/A Any method on a {@link com.sun.jdi.Mirror} that takes a <code>Mirror</code> as an
0N/A parameter directly or indirectly (e.g., as a element in a <code>List</code>) will
0N/A throw {@link com.sun.jdi.VMMismatchException} if the mirrors are from different
0N/A virtual machines.
0N/A <p>
0N/A <b>{@link java.lang.NullPointerException}</b>
0N/A <p>
0N/A Any method which takes a {@link java.lang.Object} as an parameter will throw
0N/A {@link java.lang.NullPointerException} if null is passed directly or indirectly
0N/A -- unless null is explicitly mentioned as a valid parameter.
0N/A <p>
0N/A </blockquote>
0N/A NOTE: The exceptions below may be thrown whenever the specified
0N/A conditions are met but a guarantee that they are thrown only
0N/A exists when a valid result cannot be returned.
0N/A <blockquote>
0N/A <p>
0N/A <b>{@link com.sun.jdi.VMDisconnectedException}</b>
0N/A <p>
0N/A Any method on {@link com.sun.jdi.ObjectReference}, {@link com.sun.jdi.ReferenceType},
0N/A {@link com.sun.jdi.request.EventRequest}, {@link com.sun.jdi.StackFrame}, or
0N/A {@link com.sun.jdi.VirtualMachine} or which takes one of these directly or indirectly
0N/A as an parameter may throw {@link com.sun.jdi.VMDisconnectedException} if the target VM
0N/A is disconnected and the {@link com.sun.jdi.event.VMDisconnectEvent} has been or is available
0N/A to be read from the {@link com.sun.jdi.event.EventQueue}.
0N/A <p>
0N/A <b>{@link com.sun.jdi.VMOutOfMemoryException}</b>
0N/A <p>
0N/A Any method on {@link com.sun.jdi.ObjectReference}, {@link com.sun.jdi.ReferenceType},
0N/A {@link com.sun.jdi.request.EventRequest}, {@link com.sun.jdi.StackFrame}, or
0N/A {@link com.sun.jdi.VirtualMachine} or which takes one of these directly or indirectly
0N/A as an parameter may throw {@link com.sun.jdi.VMOutOfMemoryException} if the target
0N/A VM has run out of memory.
0N/A <p>
0N/A <b>{@link com.sun.jdi.ObjectCollectedException}</b>
0N/A <p>
0N/A Any method on {@link com.sun.jdi.ObjectReference} or which directly or indirectly takes
0N/A <code>ObjectReference</code> as parameter may throw {@link com.sun.jdi.ObjectCollectedException}
0N/A if the mirrored object has been garbage collected.
0N/A <p>
0N/A Any method on {@link com.sun.jdi.ReferenceType} or which directly or indirectly takes
0N/A <code>ReferenceType</code> as parameter may throw {@link com.sun.jdi.ObjectCollectedException}
0N/A if the mirrored type has been unloaded.
0N/A
0N/A </blockquote>
0N/A </body>
0N/A</html>