1 <!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML//EN"> 2 <html> 3 <head> 4 <title>Java(tm) Debug Interface</title> 5 </head> 6 <body> 7 The Java<sup><font size="-2">TM</font></sup> 8 Debug Interface (JDI) is a high level Java 9 API providing information useful for debuggers and similar 10 systems needing access to the running state of a (usually remote) 11 virtual machine. 12 <p> 13 The JDI provides introspective 14 access to a running virtual machine's state, Class, Array, 15 Interface, and primitive types, and instances of those 16 types. 17 <P> 18 The JDI also provides explicit control over 19 a virtual machine's execution. The ability to suspend 20 and resume threads, and to set breakpoints, watchpoints, ... 21 Notification 22 of exceptions, class loading, thread creation... 23 The ability to inspect a suspended thread's state, 24 local variables, stack backtrace... 25 <p> 26 JDI is the highest-layer of the Java Platform Debugger Architecture (JPDA). 27 For more information on the Java Platform Debugger Architecture, see the 28 <a href="{@docRoot}/../../../../technotes/guides/jpda/index.html"> 29 Java Platform Debugger Architecture documentation</a> 30 for this release and the 31 <a href="http://java.sun.com/products/jpda">Java Platform Debugger Architecture website</a>. 32 <p> 33 <font size="+1"><b>Global Exceptions:</b></font> 34 <p> 35 This section documents exceptions which apply to the entire API and are thus 36 not documented on individual methods. 37 38 <blockquote> 39 <p> 40 <b>{@link com.sun.jdi.VMMismatchException}</b> 41 <p> 42 Any method on a {@link com.sun.jdi.Mirror} that takes a <code>Mirror</code> as an 43 parameter directly or indirectly (e.g., as a element in a <code>List</code>) will 44 throw {@link com.sun.jdi.VMMismatchException} if the mirrors are from different 45 virtual machines. 46 <p> 47 <b>{@link java.lang.NullPointerException}</b> 48 <p> 49 Any method which takes a {@link java.lang.Object} as an parameter will throw 50 {@link java.lang.NullPointerException} if null is passed directly or indirectly 51 -- unless null is explicitly mentioned as a valid parameter. 52 <p> 53 </blockquote> 54 NOTE: The exceptions below may be thrown whenever the specified 55 conditions are met but a guarantee that they are thrown only 56 exists when a valid result cannot be returned. 57 <blockquote> 58 <p> 59 <b>{@link com.sun.jdi.VMDisconnectedException}</b> 60 <p> 61 Any method on {@link com.sun.jdi.ObjectReference}, {@link com.sun.jdi.ReferenceType}, 62 {@link com.sun.jdi.request.EventRequest}, {@link com.sun.jdi.StackFrame}, or 63 {@link com.sun.jdi.VirtualMachine} or which takes one of these directly or indirectly 64 as an parameter may throw {@link com.sun.jdi.VMDisconnectedException} if the target VM 65 is disconnected and the {@link com.sun.jdi.event.VMDisconnectEvent} has been or is available 66 to be read from the {@link com.sun.jdi.event.EventQueue}. 67 <p> 68 <b>{@link com.sun.jdi.VMOutOfMemoryException}</b> 69 <p> 70 Any method on {@link com.sun.jdi.ObjectReference}, {@link com.sun.jdi.ReferenceType}, 71 {@link com.sun.jdi.request.EventRequest}, {@link com.sun.jdi.StackFrame}, or 72 {@link com.sun.jdi.VirtualMachine} or which takes one of these directly or indirectly 73 as an parameter may throw {@link com.sun.jdi.VMOutOfMemoryException} if the target 74 VM has run out of memory. 75 <p> 76 <b>{@link com.sun.jdi.ObjectCollectedException}</b> 77 <p> 78 Any method on {@link com.sun.jdi.ObjectReference} or which directly or indirectly takes 79 <code>ObjectReference</code> as parameter may throw {@link com.sun.jdi.ObjectCollectedException} 80 if the mirrored object has been garbage collected. 81 <p> 82 Any method on {@link com.sun.jdi.ReferenceType} or which directly or indirectly takes 83 <code>ReferenceType</code> as parameter may throw {@link com.sun.jdi.ObjectCollectedException} 84 if the mirrored type has been unloaded. 85 86 </blockquote> 87 </body> 88 </html>