Path: blob/master/src/jdk.jdi/share/classes/module-info.java
41145 views
/*1* Copyright (c) 2014, 2019, Oracle and/or its affiliates. All rights reserved.2* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.3*4* This code is free software; you can redistribute it and/or modify it5* under the terms of the GNU General Public License version 2 only, as6* published by the Free Software Foundation. Oracle designates this7* particular file as subject to the "Classpath" exception as provided8* by Oracle in the LICENSE file that accompanied this code.9*10* This code is distributed in the hope that it will be useful, but WITHOUT11* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or12* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License13* version 2 for more details (a copy is included in the LICENSE file that14* accompanied this code).15*16* You should have received a copy of the GNU General Public License version17* 2 along with this work; if not, write to the Free Software Foundation,18* Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.19*20* Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA21* or visit www.oracle.com if you need additional information or have any22* questions.23*/2425/**26* Defines the Java Debug Interface.27* <p>28* The Java Debug Interface (JDI) is a high level Java API providing29* information useful for debuggers and similar systems needing access to the30* running state of a (usually remote) virtual machine.31* <p>32* JDI provides introspective access to a running virtual machine's state,33* Class, Array, Interface, and primitive types, and instances of those types.34* <p>35* JDI also provides explicit control over a virtual machine's execution.36* The ability to suspend and resume threads, and to set breakpoints,37* watchpoints, etc. Notification of exceptions, class loading, thread38* creation, etc. The ability to inspect a suspended thread's state, local39* variables, stack backtrace, etc.40* <p>41* JDI is the highest-layer of the42* <a href="{@docRoot}/../specs/jpda/jpda.html">43* Java Platform Debugger Architecture (JPDA)</a>.44* <p>45* This module includes a simple command-line debugger,46* <em>{@index jdb jdb tool}</em>.47*48* <h2>Global Exceptions</h2>49* <p>50* This section documents exceptions which apply to the entire API and are thus51* not documented on individual methods.52* <blockquote>53* <p>54* <b>{@link com.sun.jdi.VMMismatchException}</b>55* <p>56* Any method on a {@link com.sun.jdi.Mirror} that takes a57* {@code Mirror} as an parameter directly or indirectly (e.g., as a58* element in a {@code List}) will throw {@link59* com.sun.jdi.VMMismatchException} if the mirrors are from different virtual60* machines.61* <p>62* <b>{@link java.lang.NullPointerException}</b>63* <p>64* Any method which takes a {@link java.lang.Object} as an parameter will65* throw {@link java.lang.NullPointerException} if null is passed directly or66* indirectly -- unless null is explicitly mentioned as a valid parameter.67* </blockquote>68* NOTE: The exceptions below may be thrown whenever the specified conditions69* are met but a guarantee that they are thrown only exists when a valid result70* cannot be returned.71* <blockquote>72* <p>73* <b>{@link com.sun.jdi.VMDisconnectedException}</b>74* <p>75* Any method on {@link com.sun.jdi.ObjectReference}, {@link76* com.sun.jdi.ReferenceType}, {@link com.sun.jdi.request.EventRequest},77* {@link com.sun.jdi.StackFrame}, or {@link com.sun.jdi.VirtualMachine} or78* which takes one of these directly or indirectly as an parameter may throw79* {@link com.sun.jdi.VMDisconnectedException} if the target VM is80* disconnected and the {@link com.sun.jdi.event.VMDisconnectEvent} has been81* or is available to be read from the {@link com.sun.jdi.event.EventQueue}.82* <p>83* <b>{@link com.sun.jdi.VMOutOfMemoryException}</b>84* <p>85* Any method on {@link com.sun.jdi.ObjectReference}, {@link86* com.sun.jdi.ReferenceType}, {@link com.sun.jdi.request.EventRequest},87* {@link com.sun.jdi.StackFrame}, or {@link com.sun.jdi.VirtualMachine} or88* which takes one of these directly or indirectly as an parameter may throw89* {@link com.sun.jdi.VMOutOfMemoryException} if the target VM has run out of90* memory.91* <p>92* <b>{@link com.sun.jdi.ObjectCollectedException}</b>93* <p>94* Any method on {@link com.sun.jdi.ObjectReference} or which directly or95* indirectly takes {@code ObjectReference} as parameter may throw96* {@link com.sun.jdi.ObjectCollectedException} if the mirrored object has97* been garbage collected.98* <p>99* Any method on {@link com.sun.jdi.ReferenceType} or which directly or100* indirectly takes {@code ReferenceType} as parameter may throw {@link101* com.sun.jdi.ObjectCollectedException} if the mirrored type has been102* unloaded.103* </blockquote>104*105*106* @toolGuide jdb107*108* @provides com.sun.jdi.connect.Connector109*110* @uses com.sun.jdi.connect.Connector111* @uses com.sun.jdi.connect.spi.TransportService112*113* @moduleGraph114* @since 9115* @see <a href="{@docRoot}/../specs/jpda/jpda.html">116* Java Platform Debugger Architecture (JPDA)</a>117*/118module jdk.jdi {119requires jdk.attach;120requires jdk.jdwp.agent;121122exports com.sun.jdi;123exports com.sun.jdi.connect;124exports com.sun.jdi.connect.spi;125exports com.sun.jdi.event;126exports com.sun.jdi.request;127128uses com.sun.jdi.connect.Connector;129uses com.sun.jdi.connect.spi.TransportService;130131// windows shared memory connector providers are added at build time132provides com.sun.jdi.connect.Connector with133com.sun.tools.jdi.ProcessAttachingConnector,134com.sun.tools.jdi.RawCommandLineLauncher,135com.sun.tools.jdi.SocketAttachingConnector,136com.sun.tools.jdi.SocketListeningConnector,137com.sun.tools.jdi.SunCommandLineLauncher;138}139140141