2
+ − 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 similiar
+ − 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>