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