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