xref: /aosp_15_r20/external/oj-libjdwp/make/data/jdwp/jdwp.spec (revision e82f7db8c62aed3c168547abe4f9f4aeceaebfc7)
1*e82f7db8SAndroid Build Coastguard Worker/*
2*e82f7db8SAndroid Build Coastguard Worker * Copyright (c) 1998, 2013, Oracle and/or its affiliates. All rights reserved.
3*e82f7db8SAndroid Build Coastguard Worker * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
4*e82f7db8SAndroid Build Coastguard Worker *
5*e82f7db8SAndroid Build Coastguard Worker * This code is free software; you can redistribute it and/or modify it
6*e82f7db8SAndroid Build Coastguard Worker * under the terms of the GNU General Public License version 2 only, as
7*e82f7db8SAndroid Build Coastguard Worker * published by the Free Software Foundation.  Oracle designates this
8*e82f7db8SAndroid Build Coastguard Worker * particular file as subject to the "Classpath" exception as provided
9*e82f7db8SAndroid Build Coastguard Worker * by Oracle in the LICENSE file that accompanied this code.
10*e82f7db8SAndroid Build Coastguard Worker *
11*e82f7db8SAndroid Build Coastguard Worker * This code is distributed in the hope that it will be useful, but WITHOUT
12*e82f7db8SAndroid Build Coastguard Worker * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
13*e82f7db8SAndroid Build Coastguard Worker * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
14*e82f7db8SAndroid Build Coastguard Worker * version 2 for more details (a copy is included in the LICENSE file that
15*e82f7db8SAndroid Build Coastguard Worker * accompanied this code).
16*e82f7db8SAndroid Build Coastguard Worker *
17*e82f7db8SAndroid Build Coastguard Worker * You should have received a copy of the GNU General Public License version
18*e82f7db8SAndroid Build Coastguard Worker * 2 along with this work; if not, write to the Free Software Foundation,
19*e82f7db8SAndroid Build Coastguard Worker * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
20*e82f7db8SAndroid Build Coastguard Worker *
21*e82f7db8SAndroid Build Coastguard Worker * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
22*e82f7db8SAndroid Build Coastguard Worker * or visit www.oracle.com if you need additional information or have any
23*e82f7db8SAndroid Build Coastguard Worker * questions.
24*e82f7db8SAndroid Build Coastguard Worker */
25*e82f7db8SAndroid Build Coastguard Worker
26*e82f7db8SAndroid Build Coastguard WorkerJDWP "Java(tm) Debug Wire Protocol"
27*e82f7db8SAndroid Build Coastguard Worker(CommandSet VirtualMachine=1
28*e82f7db8SAndroid Build Coastguard Worker    (Command Version=1
29*e82f7db8SAndroid Build Coastguard Worker        "Returns the JDWP version implemented by the target VM. "
30*e82f7db8SAndroid Build Coastguard Worker        "The version string format is implementation dependent. "
31*e82f7db8SAndroid Build Coastguard Worker        (Out
32*e82f7db8SAndroid Build Coastguard Worker        )
33*e82f7db8SAndroid Build Coastguard Worker        (Reply
34*e82f7db8SAndroid Build Coastguard Worker            (string description "Text information on the VM version")
35*e82f7db8SAndroid Build Coastguard Worker            (int    jdwpMajor   "Major JDWP Version number")
36*e82f7db8SAndroid Build Coastguard Worker            (int    jdwpMinor   "Minor JDWP Version number")
37*e82f7db8SAndroid Build Coastguard Worker            (string vmVersion   "Target VM JRE version, as in the java.version property")
38*e82f7db8SAndroid Build Coastguard Worker            (string vmName      "Target VM name, as in the java.vm.name property")
39*e82f7db8SAndroid Build Coastguard Worker        )
40*e82f7db8SAndroid Build Coastguard Worker        (ErrorSet
41*e82f7db8SAndroid Build Coastguard Worker            (Error VM_DEAD)
42*e82f7db8SAndroid Build Coastguard Worker        )
43*e82f7db8SAndroid Build Coastguard Worker    )
44*e82f7db8SAndroid Build Coastguard Worker    (Command ClassesBySignature=2
45*e82f7db8SAndroid Build Coastguard Worker        "Returns reference types for all the classes loaded by the target VM "
46*e82f7db8SAndroid Build Coastguard Worker        "which match the given signature. "
47*e82f7db8SAndroid Build Coastguard Worker        "Multple reference types will be returned if two or more class "
48*e82f7db8SAndroid Build Coastguard Worker        "loaders have loaded a class of the same name. "
49*e82f7db8SAndroid Build Coastguard Worker        "The search is confined to loaded classes only; no attempt is made "
50*e82f7db8SAndroid Build Coastguard Worker        "to load a class of the given signature. "
51*e82f7db8SAndroid Build Coastguard Worker        (Out
52*e82f7db8SAndroid Build Coastguard Worker            (string signature "JNI signature of the class to find "
53*e82f7db8SAndroid Build Coastguard Worker                              "(for example, \"Ljava/lang/String;\"). "
54*e82f7db8SAndroid Build Coastguard Worker            )
55*e82f7db8SAndroid Build Coastguard Worker        )
56*e82f7db8SAndroid Build Coastguard Worker        (Reply
57*e82f7db8SAndroid Build Coastguard Worker            (Repeat classes "Number of reference types that follow."
58*e82f7db8SAndroid Build Coastguard Worker                (Group ClassInfo
59*e82f7db8SAndroid Build Coastguard Worker                    (byte refTypeTag  "<a href=\"#JDWP_TypeTag\">Kind</a> "
60*e82f7db8SAndroid Build Coastguard Worker                                      "of following reference type. ")
61*e82f7db8SAndroid Build Coastguard Worker                    (referenceTypeID typeID "Matching loaded reference type")
62*e82f7db8SAndroid Build Coastguard Worker                    (int status "The current class "
63*e82f7db8SAndroid Build Coastguard Worker                                "<a href=\"#JDWP_ClassStatus\">status.</a> ")
64*e82f7db8SAndroid Build Coastguard Worker                )
65*e82f7db8SAndroid Build Coastguard Worker            )
66*e82f7db8SAndroid Build Coastguard Worker        )
67*e82f7db8SAndroid Build Coastguard Worker        (ErrorSet
68*e82f7db8SAndroid Build Coastguard Worker            (Error VM_DEAD)
69*e82f7db8SAndroid Build Coastguard Worker        )
70*e82f7db8SAndroid Build Coastguard Worker    )
71*e82f7db8SAndroid Build Coastguard Worker    (Command AllClasses=3
72*e82f7db8SAndroid Build Coastguard Worker        "Returns reference types for all classes currently loaded by the "
73*e82f7db8SAndroid Build Coastguard Worker        "target VM."
74*e82f7db8SAndroid Build Coastguard Worker        (Out
75*e82f7db8SAndroid Build Coastguard Worker        )
76*e82f7db8SAndroid Build Coastguard Worker        (Reply
77*e82f7db8SAndroid Build Coastguard Worker            (Repeat classes "Number of reference types that follow."
78*e82f7db8SAndroid Build Coastguard Worker                (Group ClassInfo
79*e82f7db8SAndroid Build Coastguard Worker                    (byte refTypeTag  "<a href=\"#JDWP_TypeTag\">Kind</a> "
80*e82f7db8SAndroid Build Coastguard Worker                                      "of following reference type. ")
81*e82f7db8SAndroid Build Coastguard Worker                    (referenceTypeID typeID "Loaded reference type")
82*e82f7db8SAndroid Build Coastguard Worker                    (string signature
83*e82f7db8SAndroid Build Coastguard Worker                                "The JNI signature of the loaded reference type")
84*e82f7db8SAndroid Build Coastguard Worker                    (int status "The current class "
85*e82f7db8SAndroid Build Coastguard Worker                                "<a href=\"#JDWP_ClassStatus\">status.</a> ")
86*e82f7db8SAndroid Build Coastguard Worker                )
87*e82f7db8SAndroid Build Coastguard Worker            )
88*e82f7db8SAndroid Build Coastguard Worker        )
89*e82f7db8SAndroid Build Coastguard Worker        (ErrorSet
90*e82f7db8SAndroid Build Coastguard Worker            (Error VM_DEAD)
91*e82f7db8SAndroid Build Coastguard Worker        )
92*e82f7db8SAndroid Build Coastguard Worker    )
93*e82f7db8SAndroid Build Coastguard Worker    (Command AllThreads=4
94*e82f7db8SAndroid Build Coastguard Worker        "Returns all threads currently running in the target VM . "
95*e82f7db8SAndroid Build Coastguard Worker        "The returned list contains threads created through "
96*e82f7db8SAndroid Build Coastguard Worker        "java.lang.Thread, all native threads attached to "
97*e82f7db8SAndroid Build Coastguard Worker        "the target VM through JNI, and system threads created "
98*e82f7db8SAndroid Build Coastguard Worker        "by the target VM. Threads that have not yet been started "
99*e82f7db8SAndroid Build Coastguard Worker        "and threads that have completed their execution are not "
100*e82f7db8SAndroid Build Coastguard Worker        "included in the returned list. "
101*e82f7db8SAndroid Build Coastguard Worker        (Out
102*e82f7db8SAndroid Build Coastguard Worker        )
103*e82f7db8SAndroid Build Coastguard Worker        (Reply
104*e82f7db8SAndroid Build Coastguard Worker            (Repeat threads "Number of threads that follow."
105*e82f7db8SAndroid Build Coastguard Worker                (threadObject thread "A running thread")
106*e82f7db8SAndroid Build Coastguard Worker            )
107*e82f7db8SAndroid Build Coastguard Worker        )
108*e82f7db8SAndroid Build Coastguard Worker        (ErrorSet
109*e82f7db8SAndroid Build Coastguard Worker            (Error VM_DEAD)
110*e82f7db8SAndroid Build Coastguard Worker        )
111*e82f7db8SAndroid Build Coastguard Worker    )
112*e82f7db8SAndroid Build Coastguard Worker    (Command TopLevelThreadGroups=5
113*e82f7db8SAndroid Build Coastguard Worker        "Returns all thread groups that do not have a parent. This command "
114*e82f7db8SAndroid Build Coastguard Worker        "may be used as the first step in building a tree (or trees) of the "
115*e82f7db8SAndroid Build Coastguard Worker        "existing thread groups."
116*e82f7db8SAndroid Build Coastguard Worker        (Out
117*e82f7db8SAndroid Build Coastguard Worker        )
118*e82f7db8SAndroid Build Coastguard Worker        (Reply
119*e82f7db8SAndroid Build Coastguard Worker            (Repeat groups "Number of thread groups that follow."
120*e82f7db8SAndroid Build Coastguard Worker                (threadGroupObject group "A top level thread group")
121*e82f7db8SAndroid Build Coastguard Worker            )
122*e82f7db8SAndroid Build Coastguard Worker        )
123*e82f7db8SAndroid Build Coastguard Worker        (ErrorSet
124*e82f7db8SAndroid Build Coastguard Worker            (Error VM_DEAD)
125*e82f7db8SAndroid Build Coastguard Worker        )
126*e82f7db8SAndroid Build Coastguard Worker    )
127*e82f7db8SAndroid Build Coastguard Worker    (Command Dispose=6
128*e82f7db8SAndroid Build Coastguard Worker        "Invalidates this virtual machine mirror. "
129*e82f7db8SAndroid Build Coastguard Worker        "The communication channel to the target VM is closed, and "
130*e82f7db8SAndroid Build Coastguard Worker        "the target VM prepares to accept another subsequent connection "
131*e82f7db8SAndroid Build Coastguard Worker        "from this debugger or another debugger, including the "
132*e82f7db8SAndroid Build Coastguard Worker        "following tasks: "
133*e82f7db8SAndroid Build Coastguard Worker        "<ul>"
134*e82f7db8SAndroid Build Coastguard Worker        "<li>All event requests are cancelled. "
135*e82f7db8SAndroid Build Coastguard Worker        "<li>All threads suspended by the thread-level "
136*e82f7db8SAndroid Build Coastguard Worker        "<a href=\"#JDWP_ThreadReference_Resume\">resume</a> command "
137*e82f7db8SAndroid Build Coastguard Worker        "or the VM-level "
138*e82f7db8SAndroid Build Coastguard Worker        "<a href=\"#JDWP_VirtualMachine_Resume\">resume</a> command "
139*e82f7db8SAndroid Build Coastguard Worker        "are resumed as many times as necessary for them to run. "
140*e82f7db8SAndroid Build Coastguard Worker        "<li>Garbage collection is re-enabled in all cases where it was "
141*e82f7db8SAndroid Build Coastguard Worker        "<a href=\"#JDWP_ObjectReference_DisableCollection\">disabled</a> "
142*e82f7db8SAndroid Build Coastguard Worker        "</ul>"
143*e82f7db8SAndroid Build Coastguard Worker        "Any current method invocations executing in the target VM "
144*e82f7db8SAndroid Build Coastguard Worker        "are continued after the disconnection. Upon completion of any such "
145*e82f7db8SAndroid Build Coastguard Worker        "method invocation, the invoking thread continues from the "
146*e82f7db8SAndroid Build Coastguard Worker        "location where it was originally stopped. "
147*e82f7db8SAndroid Build Coastguard Worker        "<p>"
148*e82f7db8SAndroid Build Coastguard Worker        "Resources originating in  "
149*e82f7db8SAndroid Build Coastguard Worker        "this VirtualMachine (ObjectReferences, ReferenceTypes, etc.) "
150*e82f7db8SAndroid Build Coastguard Worker        "will become invalid. "
151*e82f7db8SAndroid Build Coastguard Worker        (Out
152*e82f7db8SAndroid Build Coastguard Worker        )
153*e82f7db8SAndroid Build Coastguard Worker        (Reply
154*e82f7db8SAndroid Build Coastguard Worker        )
155*e82f7db8SAndroid Build Coastguard Worker        (ErrorSet
156*e82f7db8SAndroid Build Coastguard Worker        )
157*e82f7db8SAndroid Build Coastguard Worker    )
158*e82f7db8SAndroid Build Coastguard Worker    (Command IDSizes=7
159*e82f7db8SAndroid Build Coastguard Worker        "Returns the sizes of variably-sized data types in the target VM."
160*e82f7db8SAndroid Build Coastguard Worker        "The returned values indicate the number of bytes used by the "
161*e82f7db8SAndroid Build Coastguard Worker        "identifiers in command and reply packets."
162*e82f7db8SAndroid Build Coastguard Worker        (Out
163*e82f7db8SAndroid Build Coastguard Worker        )
164*e82f7db8SAndroid Build Coastguard Worker        (Reply
165*e82f7db8SAndroid Build Coastguard Worker            (int fieldIDSize "fieldID size in bytes ")
166*e82f7db8SAndroid Build Coastguard Worker            (int methodIDSize "methodID size in bytes ")
167*e82f7db8SAndroid Build Coastguard Worker            (int objectIDSize "objectID size in bytes ")
168*e82f7db8SAndroid Build Coastguard Worker            (int referenceTypeIDSize "referenceTypeID size in bytes ")
169*e82f7db8SAndroid Build Coastguard Worker            (int frameIDSize "frameID size in bytes ")
170*e82f7db8SAndroid Build Coastguard Worker        )
171*e82f7db8SAndroid Build Coastguard Worker        (ErrorSet
172*e82f7db8SAndroid Build Coastguard Worker            (Error VM_DEAD)
173*e82f7db8SAndroid Build Coastguard Worker        )
174*e82f7db8SAndroid Build Coastguard Worker    )
175*e82f7db8SAndroid Build Coastguard Worker    (Command Suspend=8
176*e82f7db8SAndroid Build Coastguard Worker        "Suspends the execution of the application running in the target "
177*e82f7db8SAndroid Build Coastguard Worker        "VM. All Java threads currently running will be suspended. "
178*e82f7db8SAndroid Build Coastguard Worker        "<p>"
179*e82f7db8SAndroid Build Coastguard Worker        "Unlike java.lang.Thread.suspend, "
180*e82f7db8SAndroid Build Coastguard Worker        "suspends of both the virtual machine and individual threads are "
181*e82f7db8SAndroid Build Coastguard Worker        "counted. Before a thread will run again, it must be resumed through "
182*e82f7db8SAndroid Build Coastguard Worker        "the <a href=\"#JDWP_VirtualMachine_Resume\">VM-level resume</a> command "
183*e82f7db8SAndroid Build Coastguard Worker        "or the <a href=\"#JDWP_ThreadReference_Resume\">thread-level resume</a> command "
184*e82f7db8SAndroid Build Coastguard Worker        "the same number of times it has been suspended. "
185*e82f7db8SAndroid Build Coastguard Worker        (Out
186*e82f7db8SAndroid Build Coastguard Worker        )
187*e82f7db8SAndroid Build Coastguard Worker        (Reply
188*e82f7db8SAndroid Build Coastguard Worker        )
189*e82f7db8SAndroid Build Coastguard Worker        (ErrorSet
190*e82f7db8SAndroid Build Coastguard Worker            (Error VM_DEAD)
191*e82f7db8SAndroid Build Coastguard Worker        )
192*e82f7db8SAndroid Build Coastguard Worker    )
193*e82f7db8SAndroid Build Coastguard Worker    (Command Resume=9
194*e82f7db8SAndroid Build Coastguard Worker        "Resumes execution of the application after the suspend "
195*e82f7db8SAndroid Build Coastguard Worker        "command or an event has stopped it. "
196*e82f7db8SAndroid Build Coastguard Worker        "Suspensions of the Virtual Machine and individual threads are "
197*e82f7db8SAndroid Build Coastguard Worker        "counted. If a particular thread is suspended n times, it must "
198*e82f7db8SAndroid Build Coastguard Worker        "resumed n times before it will continue. "
199*e82f7db8SAndroid Build Coastguard Worker        (Out
200*e82f7db8SAndroid Build Coastguard Worker        )
201*e82f7db8SAndroid Build Coastguard Worker        (Reply
202*e82f7db8SAndroid Build Coastguard Worker        )
203*e82f7db8SAndroid Build Coastguard Worker        (ErrorSet
204*e82f7db8SAndroid Build Coastguard Worker        )
205*e82f7db8SAndroid Build Coastguard Worker    )
206*e82f7db8SAndroid Build Coastguard Worker    (Command Exit=10
207*e82f7db8SAndroid Build Coastguard Worker        "Terminates the target VM with the given exit code. "
208*e82f7db8SAndroid Build Coastguard Worker        "On some platforms, the exit code might be truncated, for "
209*e82f7db8SAndroid Build Coastguard Worker        "example, to the low order 8 bits. "
210*e82f7db8SAndroid Build Coastguard Worker        "All ids previously returned from the target VM become invalid. "
211*e82f7db8SAndroid Build Coastguard Worker        "Threads running in the VM are abruptly terminated. "
212*e82f7db8SAndroid Build Coastguard Worker        "A thread death exception is not thrown and "
213*e82f7db8SAndroid Build Coastguard Worker        "finally blocks are not run."
214*e82f7db8SAndroid Build Coastguard Worker        (Out
215*e82f7db8SAndroid Build Coastguard Worker            (int exitCode "the exit code")
216*e82f7db8SAndroid Build Coastguard Worker        )
217*e82f7db8SAndroid Build Coastguard Worker        (Reply
218*e82f7db8SAndroid Build Coastguard Worker        )
219*e82f7db8SAndroid Build Coastguard Worker        (ErrorSet
220*e82f7db8SAndroid Build Coastguard Worker        )
221*e82f7db8SAndroid Build Coastguard Worker    )
222*e82f7db8SAndroid Build Coastguard Worker    (Command CreateString=11
223*e82f7db8SAndroid Build Coastguard Worker        "Creates a new string object in the target VM and returns "
224*e82f7db8SAndroid Build Coastguard Worker        "its id. "
225*e82f7db8SAndroid Build Coastguard Worker        (Out
226*e82f7db8SAndroid Build Coastguard Worker            (string utf "UTF-8 characters to use in the created string. ")
227*e82f7db8SAndroid Build Coastguard Worker        )
228*e82f7db8SAndroid Build Coastguard Worker        (Reply
229*e82f7db8SAndroid Build Coastguard Worker            (stringObject stringObject
230*e82f7db8SAndroid Build Coastguard Worker                "Created string (instance of java.lang.String) ")
231*e82f7db8SAndroid Build Coastguard Worker        )
232*e82f7db8SAndroid Build Coastguard Worker        (ErrorSet
233*e82f7db8SAndroid Build Coastguard Worker            (Error VM_DEAD)
234*e82f7db8SAndroid Build Coastguard Worker        )
235*e82f7db8SAndroid Build Coastguard Worker    )
236*e82f7db8SAndroid Build Coastguard Worker    (Command Capabilities=12
237*e82f7db8SAndroid Build Coastguard Worker        "Retrieve this VM's capabilities. The capabilities are returned "
238*e82f7db8SAndroid Build Coastguard Worker        "as booleans, each indicating the presence or absence of a "
239*e82f7db8SAndroid Build Coastguard Worker        "capability. The commands associated with each capability will "
240*e82f7db8SAndroid Build Coastguard Worker        "return the NOT_IMPLEMENTED error if the cabability is not "
241*e82f7db8SAndroid Build Coastguard Worker        "available."
242*e82f7db8SAndroid Build Coastguard Worker        (Out
243*e82f7db8SAndroid Build Coastguard Worker        )
244*e82f7db8SAndroid Build Coastguard Worker        (Reply
245*e82f7db8SAndroid Build Coastguard Worker            (boolean canWatchFieldModification
246*e82f7db8SAndroid Build Coastguard Worker                     "Can the VM watch field modification, and therefore "
247*e82f7db8SAndroid Build Coastguard Worker                     "can it send the Modification Watchpoint Event?")
248*e82f7db8SAndroid Build Coastguard Worker            (boolean canWatchFieldAccess
249*e82f7db8SAndroid Build Coastguard Worker                     "Can the VM watch field access, and therefore "
250*e82f7db8SAndroid Build Coastguard Worker                     "can it send the Access Watchpoint Event?")
251*e82f7db8SAndroid Build Coastguard Worker            (boolean canGetBytecodes
252*e82f7db8SAndroid Build Coastguard Worker                     "Can the VM get the bytecodes of a given method? ")
253*e82f7db8SAndroid Build Coastguard Worker            (boolean canGetSyntheticAttribute
254*e82f7db8SAndroid Build Coastguard Worker                     "Can the VM determine whether a field or method is "
255*e82f7db8SAndroid Build Coastguard Worker                     "synthetic? (that is, can the VM determine if the "
256*e82f7db8SAndroid Build Coastguard Worker                     "method or the field was invented by the compiler?) ")
257*e82f7db8SAndroid Build Coastguard Worker            (boolean canGetOwnedMonitorInfo
258*e82f7db8SAndroid Build Coastguard Worker                     "Can the VM get the owned monitors infornation for "
259*e82f7db8SAndroid Build Coastguard Worker                     "a thread?")
260*e82f7db8SAndroid Build Coastguard Worker            (boolean canGetCurrentContendedMonitor
261*e82f7db8SAndroid Build Coastguard Worker                     "Can the VM get the current contended monitor of a thread?")
262*e82f7db8SAndroid Build Coastguard Worker            (boolean canGetMonitorInfo
263*e82f7db8SAndroid Build Coastguard Worker                     "Can the VM get the monitor information for a given object? ")
264*e82f7db8SAndroid Build Coastguard Worker        )
265*e82f7db8SAndroid Build Coastguard Worker        (ErrorSet
266*e82f7db8SAndroid Build Coastguard Worker            (Error VM_DEAD)
267*e82f7db8SAndroid Build Coastguard Worker        )
268*e82f7db8SAndroid Build Coastguard Worker    )
269*e82f7db8SAndroid Build Coastguard Worker    (Command ClassPaths=13
270*e82f7db8SAndroid Build Coastguard Worker        "Retrieve the classpath and bootclasspath of the target VM. "
271*e82f7db8SAndroid Build Coastguard Worker        "If the classpath is not defined, returns an empty list. If the "
272*e82f7db8SAndroid Build Coastguard Worker        "bootclasspath is not defined returns an empty list."
273*e82f7db8SAndroid Build Coastguard Worker        (Out
274*e82f7db8SAndroid Build Coastguard Worker        )
275*e82f7db8SAndroid Build Coastguard Worker        (Reply
276*e82f7db8SAndroid Build Coastguard Worker            (string baseDir "Base directory used to resolve relative "
277*e82f7db8SAndroid Build Coastguard Worker                            "paths in either of the following lists.")
278*e82f7db8SAndroid Build Coastguard Worker            (Repeat classpaths "Number of paths in classpath."
279*e82f7db8SAndroid Build Coastguard Worker                (string path "One component of classpath") )
280*e82f7db8SAndroid Build Coastguard Worker            (Repeat bootclasspaths "Number of paths in bootclasspath."
281*e82f7db8SAndroid Build Coastguard Worker                (string path "One component of bootclasspath") )
282*e82f7db8SAndroid Build Coastguard Worker        )
283*e82f7db8SAndroid Build Coastguard Worker        (ErrorSet
284*e82f7db8SAndroid Build Coastguard Worker            (Error VM_DEAD)
285*e82f7db8SAndroid Build Coastguard Worker        )
286*e82f7db8SAndroid Build Coastguard Worker    )
287*e82f7db8SAndroid Build Coastguard Worker    (Command DisposeObjects=14
288*e82f7db8SAndroid Build Coastguard Worker        "Releases a list of object IDs. For each object in the list, the "
289*e82f7db8SAndroid Build Coastguard Worker        "following applies. "
290*e82f7db8SAndroid Build Coastguard Worker        "The count of references held by the back-end (the reference "
291*e82f7db8SAndroid Build Coastguard Worker        "count) will be decremented by refCnt. "
292*e82f7db8SAndroid Build Coastguard Worker        "If thereafter the reference count is less than "
293*e82f7db8SAndroid Build Coastguard Worker        "or equal to zero, the ID is freed. "
294*e82f7db8SAndroid Build Coastguard Worker        "Any back-end resources associated with the freed ID may "
295*e82f7db8SAndroid Build Coastguard Worker        "be freed, and if garbage collection was "
296*e82f7db8SAndroid Build Coastguard Worker        "disabled for the object, it will be re-enabled. "
297*e82f7db8SAndroid Build Coastguard Worker        "The sender of this command "
298*e82f7db8SAndroid Build Coastguard Worker        "promises that no further commands will be sent "
299*e82f7db8SAndroid Build Coastguard Worker        "referencing a freed ID.
300*e82f7db8SAndroid Build Coastguard Worker        "<p>"
301*e82f7db8SAndroid Build Coastguard Worker        "Use of this command is not required. If it is not sent, "
302*e82f7db8SAndroid Build Coastguard Worker        "resources associated with each ID will be freed by the back-end "
303*e82f7db8SAndroid Build Coastguard Worker        "at some time after the corresponding object is garbage collected. "
304*e82f7db8SAndroid Build Coastguard Worker        "It is most useful to use this command to reduce the load on the "
305*e82f7db8SAndroid Build Coastguard Worker        "back-end if a very large number of "
306*e82f7db8SAndroid Build Coastguard Worker        "objects has been retrieved from the back-end (a large array, "
307*e82f7db8SAndroid Build Coastguard Worker        "for example) but may not be garbage collected any time soon. "
308*e82f7db8SAndroid Build Coastguard Worker        "<p>"
309*e82f7db8SAndroid Build Coastguard Worker        "IDs may be re-used by the back-end after they "
310*e82f7db8SAndroid Build Coastguard Worker        "have been freed with this command."
311*e82f7db8SAndroid Build Coastguard Worker        "This description assumes reference counting, "
312*e82f7db8SAndroid Build Coastguard Worker        "a back-end may use any implementation which operates "
313*e82f7db8SAndroid Build Coastguard Worker        "equivalently. "
314*e82f7db8SAndroid Build Coastguard Worker        (Out
315*e82f7db8SAndroid Build Coastguard Worker            (Repeat requests "Number of object dispose requests that follow"
316*e82f7db8SAndroid Build Coastguard Worker                (Group Request
317*e82f7db8SAndroid Build Coastguard Worker                    (object object "The object ID")
318*e82f7db8SAndroid Build Coastguard Worker                    (int refCnt "The number of times this object ID has been "
319*e82f7db8SAndroid Build Coastguard Worker                                "part of a packet received from the back-end. "
320*e82f7db8SAndroid Build Coastguard Worker                                "An accurate count prevents the object ID "
321*e82f7db8SAndroid Build Coastguard Worker                                "from being freed on the back-end if "
322*e82f7db8SAndroid Build Coastguard Worker                                "it is part of an incoming packet, not yet "
323*e82f7db8SAndroid Build Coastguard Worker                                "handled by the front-end.")
324*e82f7db8SAndroid Build Coastguard Worker                )
325*e82f7db8SAndroid Build Coastguard Worker            )
326*e82f7db8SAndroid Build Coastguard Worker        )
327*e82f7db8SAndroid Build Coastguard Worker        (Reply
328*e82f7db8SAndroid Build Coastguard Worker        )
329*e82f7db8SAndroid Build Coastguard Worker        (ErrorSet
330*e82f7db8SAndroid Build Coastguard Worker        )
331*e82f7db8SAndroid Build Coastguard Worker    )
332*e82f7db8SAndroid Build Coastguard Worker    (Command HoldEvents=15
333*e82f7db8SAndroid Build Coastguard Worker        "Tells the target VM to stop sending events. Events are not discarded; "
334*e82f7db8SAndroid Build Coastguard Worker        "they are held until a subsequent ReleaseEvents command is sent. "
335*e82f7db8SAndroid Build Coastguard Worker        "This command is useful to control the number of events sent "
336*e82f7db8SAndroid Build Coastguard Worker        "to the debugger VM in situations where very large numbers of events "
337*e82f7db8SAndroid Build Coastguard Worker        "are generated. "
338*e82f7db8SAndroid Build Coastguard Worker        "While events are held by the debugger back-end, application "
339*e82f7db8SAndroid Build Coastguard Worker        "execution may be frozen by the debugger back-end to prevent "
340*e82f7db8SAndroid Build Coastguard Worker        "buffer overflows on the back end.
341*e82f7db8SAndroid Build Coastguard Worker        "Responses to commands are never held and are not affected by this
342*e82f7db8SAndroid Build Coastguard Worker        "command. If events are already being held, this command is "
343*e82f7db8SAndroid Build Coastguard Worker        "ignored."
344*e82f7db8SAndroid Build Coastguard Worker        (Out
345*e82f7db8SAndroid Build Coastguard Worker        )
346*e82f7db8SAndroid Build Coastguard Worker        (Reply
347*e82f7db8SAndroid Build Coastguard Worker        )
348*e82f7db8SAndroid Build Coastguard Worker        (ErrorSet
349*e82f7db8SAndroid Build Coastguard Worker        )
350*e82f7db8SAndroid Build Coastguard Worker    )
351*e82f7db8SAndroid Build Coastguard Worker    (Command ReleaseEvents=16
352*e82f7db8SAndroid Build Coastguard Worker        "Tells the target VM to continue sending events. This command is "
353*e82f7db8SAndroid Build Coastguard Worker        "used to restore normal activity after a HoldEvents command. If "
354*e82f7db8SAndroid Build Coastguard Worker        "there is no current HoldEvents command in effect, this command is "
355*e82f7db8SAndroid Build Coastguard Worker        "ignored."
356*e82f7db8SAndroid Build Coastguard Worker        (Out
357*e82f7db8SAndroid Build Coastguard Worker        )
358*e82f7db8SAndroid Build Coastguard Worker        (Reply
359*e82f7db8SAndroid Build Coastguard Worker        )
360*e82f7db8SAndroid Build Coastguard Worker        (ErrorSet
361*e82f7db8SAndroid Build Coastguard Worker        )
362*e82f7db8SAndroid Build Coastguard Worker    )
363*e82f7db8SAndroid Build Coastguard Worker    (Command CapabilitiesNew=17
364*e82f7db8SAndroid Build Coastguard Worker        "Retrieve all of this VM's capabilities. The capabilities are returned "
365*e82f7db8SAndroid Build Coastguard Worker        "as booleans, each indicating the presence or absence of a "
366*e82f7db8SAndroid Build Coastguard Worker        "capability. The commands associated with each capability will "
367*e82f7db8SAndroid Build Coastguard Worker        "return the NOT_IMPLEMENTED error if the cabability is not "
368*e82f7db8SAndroid Build Coastguard Worker        "available."
369*e82f7db8SAndroid Build Coastguard Worker        "Since JDWP version 1.4."
370*e82f7db8SAndroid Build Coastguard Worker        (Out
371*e82f7db8SAndroid Build Coastguard Worker        )
372*e82f7db8SAndroid Build Coastguard Worker        (Reply
373*e82f7db8SAndroid Build Coastguard Worker            (boolean canWatchFieldModification
374*e82f7db8SAndroid Build Coastguard Worker                     "Can the VM watch field modification, and therefore "
375*e82f7db8SAndroid Build Coastguard Worker                     "can it send the Modification Watchpoint Event?")
376*e82f7db8SAndroid Build Coastguard Worker            (boolean canWatchFieldAccess
377*e82f7db8SAndroid Build Coastguard Worker                     "Can the VM watch field access, and therefore "
378*e82f7db8SAndroid Build Coastguard Worker                     "can it send the Access Watchpoint Event?")
379*e82f7db8SAndroid Build Coastguard Worker            (boolean canGetBytecodes
380*e82f7db8SAndroid Build Coastguard Worker                     "Can the VM get the bytecodes of a given method? ")
381*e82f7db8SAndroid Build Coastguard Worker            (boolean canGetSyntheticAttribute
382*e82f7db8SAndroid Build Coastguard Worker                     "Can the VM determine whether a field or method is "
383*e82f7db8SAndroid Build Coastguard Worker                     "synthetic? (that is, can the VM determine if the "
384*e82f7db8SAndroid Build Coastguard Worker                     "method or the field was invented by the compiler?) ")
385*e82f7db8SAndroid Build Coastguard Worker            (boolean canGetOwnedMonitorInfo
386*e82f7db8SAndroid Build Coastguard Worker                     "Can the VM get the owned monitors infornation for "
387*e82f7db8SAndroid Build Coastguard Worker                     "a thread?")
388*e82f7db8SAndroid Build Coastguard Worker            (boolean canGetCurrentContendedMonitor
389*e82f7db8SAndroid Build Coastguard Worker                     "Can the VM get the current contended monitor of a thread?")
390*e82f7db8SAndroid Build Coastguard Worker            (boolean canGetMonitorInfo
391*e82f7db8SAndroid Build Coastguard Worker                     "Can the VM get the monitor information for a given object? ")
392*e82f7db8SAndroid Build Coastguard Worker            (boolean canRedefineClasses
393*e82f7db8SAndroid Build Coastguard Worker                     "Can the VM redefine classes?")
394*e82f7db8SAndroid Build Coastguard Worker            (boolean canAddMethod
395*e82f7db8SAndroid Build Coastguard Worker                     "Can the VM add methods when redefining "
396*e82f7db8SAndroid Build Coastguard Worker                     "classes?")
397*e82f7db8SAndroid Build Coastguard Worker            (boolean canUnrestrictedlyRedefineClasses
398*e82f7db8SAndroid Build Coastguard Worker                     "Can the VM redefine classes"
399*e82f7db8SAndroid Build Coastguard Worker                     "in arbitrary ways?")
400*e82f7db8SAndroid Build Coastguard Worker            (boolean canPopFrames
401*e82f7db8SAndroid Build Coastguard Worker                     "Can the VM pop stack frames?")
402*e82f7db8SAndroid Build Coastguard Worker            (boolean canUseInstanceFilters
403*e82f7db8SAndroid Build Coastguard Worker                     "Can the VM filter events by specific object?")
404*e82f7db8SAndroid Build Coastguard Worker            (boolean canGetSourceDebugExtension
405*e82f7db8SAndroid Build Coastguard Worker                     "Can the VM get the source debug extension?")
406*e82f7db8SAndroid Build Coastguard Worker            (boolean canRequestVMDeathEvent
407*e82f7db8SAndroid Build Coastguard Worker                     "Can the VM request VM death events?")
408*e82f7db8SAndroid Build Coastguard Worker            (boolean canSetDefaultStratum
409*e82f7db8SAndroid Build Coastguard Worker                     "Can the VM set a default stratum?")
410*e82f7db8SAndroid Build Coastguard Worker            (boolean canGetInstanceInfo
411*e82f7db8SAndroid Build Coastguard Worker                     "Can the VM return instances, counts of instances of classes "
412*e82f7db8SAndroid Build Coastguard Worker                     "and referring objects?")
413*e82f7db8SAndroid Build Coastguard Worker            (boolean canRequestMonitorEvents
414*e82f7db8SAndroid Build Coastguard Worker                     "Can the VM request monitor events?")
415*e82f7db8SAndroid Build Coastguard Worker            (boolean canGetMonitorFrameInfo
416*e82f7db8SAndroid Build Coastguard Worker                     "Can the VM get monitors with frame depth info?")
417*e82f7db8SAndroid Build Coastguard Worker            (boolean canUseSourceNameFilters
418*e82f7db8SAndroid Build Coastguard Worker                     "Can the VM filter class prepare events by source name?")
419*e82f7db8SAndroid Build Coastguard Worker            (boolean canGetConstantPool
420*e82f7db8SAndroid Build Coastguard Worker                     "Can the VM return the constant pool information?")
421*e82f7db8SAndroid Build Coastguard Worker            (boolean canForceEarlyReturn
422*e82f7db8SAndroid Build Coastguard Worker                     "Can the VM force early return from a method?")
423*e82f7db8SAndroid Build Coastguard Worker            (boolean reserved22
424*e82f7db8SAndroid Build Coastguard Worker                     "Reserved for future capability")
425*e82f7db8SAndroid Build Coastguard Worker            (boolean reserved23
426*e82f7db8SAndroid Build Coastguard Worker                     "Reserved for future capability")
427*e82f7db8SAndroid Build Coastguard Worker            (boolean reserved24
428*e82f7db8SAndroid Build Coastguard Worker                     "Reserved for future capability")
429*e82f7db8SAndroid Build Coastguard Worker            (boolean reserved25
430*e82f7db8SAndroid Build Coastguard Worker                     "Reserved for future capability")
431*e82f7db8SAndroid Build Coastguard Worker            (boolean reserved26
432*e82f7db8SAndroid Build Coastguard Worker                     "Reserved for future capability")
433*e82f7db8SAndroid Build Coastguard Worker            (boolean reserved27
434*e82f7db8SAndroid Build Coastguard Worker                     "Reserved for future capability")
435*e82f7db8SAndroid Build Coastguard Worker            (boolean reserved28
436*e82f7db8SAndroid Build Coastguard Worker                     "Reserved for future capability")
437*e82f7db8SAndroid Build Coastguard Worker            (boolean reserved29
438*e82f7db8SAndroid Build Coastguard Worker                     "Reserved for future capability")
439*e82f7db8SAndroid Build Coastguard Worker            (boolean reserved30
440*e82f7db8SAndroid Build Coastguard Worker                     "Reserved for future capability")
441*e82f7db8SAndroid Build Coastguard Worker            (boolean reserved31
442*e82f7db8SAndroid Build Coastguard Worker                     "Reserved for future capability")
443*e82f7db8SAndroid Build Coastguard Worker            (boolean reserved32
444*e82f7db8SAndroid Build Coastguard Worker                     "Reserved for future capability")
445*e82f7db8SAndroid Build Coastguard Worker        )
446*e82f7db8SAndroid Build Coastguard Worker        (ErrorSet
447*e82f7db8SAndroid Build Coastguard Worker            (Error VM_DEAD)
448*e82f7db8SAndroid Build Coastguard Worker        )
449*e82f7db8SAndroid Build Coastguard Worker    )
450*e82f7db8SAndroid Build Coastguard Worker    (Command RedefineClasses=18
451*e82f7db8SAndroid Build Coastguard Worker        "Installs new class definitions. "
452*e82f7db8SAndroid Build Coastguard Worker        "If there are active stack frames in methods of the redefined classes in the "
453*e82f7db8SAndroid Build Coastguard Worker        "target VM then those active frames continue to run the bytecodes of the "
454*e82f7db8SAndroid Build Coastguard Worker        "original method. These methods are considered obsolete - see "
455*e82f7db8SAndroid Build Coastguard Worker        "<a href=\"#JDWP_Method_IsObsolete\">IsObsolete</a>. The methods in the "
456*e82f7db8SAndroid Build Coastguard Worker        "redefined classes will be used for new invokes in the target VM. "
457*e82f7db8SAndroid Build Coastguard Worker        "The original method ID refers to the redefined method. "
458*e82f7db8SAndroid Build Coastguard Worker        "All breakpoints in the redefined classes are cleared."
459*e82f7db8SAndroid Build Coastguard Worker        "If resetting of stack frames is desired, the "
460*e82f7db8SAndroid Build Coastguard Worker        "<a href=\"#JDWP_StackFrame_PopFrames\">PopFrames</a> command can be used "
461*e82f7db8SAndroid Build Coastguard Worker        "to pop frames with obsolete methods."
462*e82f7db8SAndroid Build Coastguard Worker        "<p>"
463*e82f7db8SAndroid Build Coastguard Worker        "Requires canRedefineClasses capability - see "
464*e82f7db8SAndroid Build Coastguard Worker        "<a href=\"#JDWP_VirtualMachine_CapabilitiesNew\">CapabilitiesNew</a>. "
465*e82f7db8SAndroid Build Coastguard Worker        "In addition to the canRedefineClasses capability, the target VM must "
466*e82f7db8SAndroid Build Coastguard Worker        "have the canAddMethod capability to add methods when redefining classes, "
467*e82f7db8SAndroid Build Coastguard Worker        "or the canUnrestrictedlyRedefineClasses to redefine classes in arbitrary "
468*e82f7db8SAndroid Build Coastguard Worker        "ways."
469*e82f7db8SAndroid Build Coastguard Worker        (Out
470*e82f7db8SAndroid Build Coastguard Worker            (Repeat classes "Number of reference types that follow."
471*e82f7db8SAndroid Build Coastguard Worker                (Group ClassDef
472*e82f7db8SAndroid Build Coastguard Worker                    (referenceType refType "The reference type.")
473*e82f7db8SAndroid Build Coastguard Worker                    (Repeat classfile "Number of bytes defining class (below)"
474*e82f7db8SAndroid Build Coastguard Worker                         (byte classbyte "byte in JVM class file "
475*e82f7db8SAndroid Build Coastguard Worker                                         "format.")
476*e82f7db8SAndroid Build Coastguard Worker                    )
477*e82f7db8SAndroid Build Coastguard Worker                )
478*e82f7db8SAndroid Build Coastguard Worker            )
479*e82f7db8SAndroid Build Coastguard Worker        )
480*e82f7db8SAndroid Build Coastguard Worker        (Reply
481*e82f7db8SAndroid Build Coastguard Worker        )
482*e82f7db8SAndroid Build Coastguard Worker        (ErrorSet
483*e82f7db8SAndroid Build Coastguard Worker            (Error INVALID_CLASS    "One of the refTypes is not the ID of a reference "
484*e82f7db8SAndroid Build Coastguard Worker                                    "type.")
485*e82f7db8SAndroid Build Coastguard Worker            (Error INVALID_OBJECT   "One of the refTypes is not a known ID.")
486*e82f7db8SAndroid Build Coastguard Worker            (Error UNSUPPORTED_VERSION)
487*e82f7db8SAndroid Build Coastguard Worker            (Error INVALID_CLASS_FORMAT)
488*e82f7db8SAndroid Build Coastguard Worker            (Error CIRCULAR_CLASS_DEFINITION)
489*e82f7db8SAndroid Build Coastguard Worker            (Error FAILS_VERIFICATION)
490*e82f7db8SAndroid Build Coastguard Worker            (Error NAMES_DONT_MATCH)
491*e82f7db8SAndroid Build Coastguard Worker            (Error NOT_IMPLEMENTED  "No aspect of this functionality is implemented "
492*e82f7db8SAndroid Build Coastguard Worker                                    "(CapabilitiesNew.canRedefineClasses is false)")
493*e82f7db8SAndroid Build Coastguard Worker            (Error ADD_METHOD_NOT_IMPLEMENTED)
494*e82f7db8SAndroid Build Coastguard Worker            (Error SCHEMA_CHANGE_NOT_IMPLEMENTED)
495*e82f7db8SAndroid Build Coastguard Worker            (Error HIERARCHY_CHANGE_NOT_IMPLEMENTED)
496*e82f7db8SAndroid Build Coastguard Worker            (Error DELETE_METHOD_NOT_IMPLEMENTED)
497*e82f7db8SAndroid Build Coastguard Worker            (Error CLASS_MODIFIERS_CHANGE_NOT_IMPLEMENTED)
498*e82f7db8SAndroid Build Coastguard Worker            (Error METHOD_MODIFIERS_CHANGE_NOT_IMPLEMENTED)
499*e82f7db8SAndroid Build Coastguard Worker            (Error VM_DEAD)
500*e82f7db8SAndroid Build Coastguard Worker        )
501*e82f7db8SAndroid Build Coastguard Worker    )
502*e82f7db8SAndroid Build Coastguard Worker    (Command SetDefaultStratum=19
503*e82f7db8SAndroid Build Coastguard Worker        "Set the default stratum. Requires canSetDefaultStratum capability - see "
504*e82f7db8SAndroid Build Coastguard Worker        "<a href=\"#JDWP_VirtualMachine_CapabilitiesNew\">CapabilitiesNew</a>."
505*e82f7db8SAndroid Build Coastguard Worker        (Out
506*e82f7db8SAndroid Build Coastguard Worker            (string stratumID "default stratum, or empty string to use "
507*e82f7db8SAndroid Build Coastguard Worker                              "reference type default.")
508*e82f7db8SAndroid Build Coastguard Worker        )
509*e82f7db8SAndroid Build Coastguard Worker        (Reply
510*e82f7db8SAndroid Build Coastguard Worker        )
511*e82f7db8SAndroid Build Coastguard Worker        (ErrorSet
512*e82f7db8SAndroid Build Coastguard Worker            (Error NOT_IMPLEMENTED)
513*e82f7db8SAndroid Build Coastguard Worker            (Error VM_DEAD)
514*e82f7db8SAndroid Build Coastguard Worker        )
515*e82f7db8SAndroid Build Coastguard Worker    )
516*e82f7db8SAndroid Build Coastguard Worker    (Command AllClassesWithGeneric=20
517*e82f7db8SAndroid Build Coastguard Worker        "Returns reference types for all classes currently loaded by the "
518*e82f7db8SAndroid Build Coastguard Worker        "target VM.  "
519*e82f7db8SAndroid Build Coastguard Worker        "Both the JNI signature and the generic signature are "
520*e82f7db8SAndroid Build Coastguard Worker        "returned for each class.  "
521*e82f7db8SAndroid Build Coastguard Worker        "Generic signatures are described in the signature attribute "
522*e82f7db8SAndroid Build Coastguard Worker        "section in "
523*e82f7db8SAndroid Build Coastguard Worker        "<cite>The Java&trade; Virtual Machine Specification</cite>. "
524*e82f7db8SAndroid Build Coastguard Worker        "Since JDWP version 1.5."
525*e82f7db8SAndroid Build Coastguard Worker        (Out
526*e82f7db8SAndroid Build Coastguard Worker        )
527*e82f7db8SAndroid Build Coastguard Worker        (Reply
528*e82f7db8SAndroid Build Coastguard Worker            (Repeat classes "Number of reference types that follow."
529*e82f7db8SAndroid Build Coastguard Worker                (Group ClassInfo
530*e82f7db8SAndroid Build Coastguard Worker                    (byte refTypeTag  "<a href=\"#JDWP_TypeTag\">Kind</a> "
531*e82f7db8SAndroid Build Coastguard Worker                                      "of following reference type. ")
532*e82f7db8SAndroid Build Coastguard Worker                    (referenceTypeID typeID "Loaded reference type")
533*e82f7db8SAndroid Build Coastguard Worker                    (string signature
534*e82f7db8SAndroid Build Coastguard Worker                                "The JNI signature of the loaded reference type.")
535*e82f7db8SAndroid Build Coastguard Worker                    (string genericSignature
536*e82f7db8SAndroid Build Coastguard Worker                                "The generic signature of the loaded reference type "
537*e82f7db8SAndroid Build Coastguard Worker                                "or an empty string if there is none.")
538*e82f7db8SAndroid Build Coastguard Worker                    (int status "The current class "
539*e82f7db8SAndroid Build Coastguard Worker                                "<a href=\"#JDWP_ClassStatus\">status.</a> ")
540*e82f7db8SAndroid Build Coastguard Worker                )
541*e82f7db8SAndroid Build Coastguard Worker            )
542*e82f7db8SAndroid Build Coastguard Worker        )
543*e82f7db8SAndroid Build Coastguard Worker        (ErrorSet
544*e82f7db8SAndroid Build Coastguard Worker            (Error VM_DEAD)
545*e82f7db8SAndroid Build Coastguard Worker        )
546*e82f7db8SAndroid Build Coastguard Worker    )
547*e82f7db8SAndroid Build Coastguard Worker
548*e82f7db8SAndroid Build Coastguard Worker    (Command InstanceCounts=21
549*e82f7db8SAndroid Build Coastguard Worker        "Returns the number of instances of each reference type in the input list. "
550*e82f7db8SAndroid Build Coastguard Worker        "Only instances that are reachable for the purposes of "
551*e82f7db8SAndroid Build Coastguard Worker        "garbage collection are counted.  If a reference type is invalid, "
552*e82f7db8SAndroid Build Coastguard Worker        "eg. it has been unloaded, zero is returned for its instance count."
553*e82f7db8SAndroid Build Coastguard Worker        "<p>Since JDWP version 1.6. Requires canGetInstanceInfo capability - see "
554*e82f7db8SAndroid Build Coastguard Worker        "<a href=\"#JDWP_VirtualMachine_CapabilitiesNew\">CapabilitiesNew</a>."
555*e82f7db8SAndroid Build Coastguard Worker        (Out
556*e82f7db8SAndroid Build Coastguard Worker            (Repeat refTypesCount "Number of reference types that follow.    Must be non-negative."
557*e82f7db8SAndroid Build Coastguard Worker                (referenceType refType "A reference type ID.")
558*e82f7db8SAndroid Build Coastguard Worker            )
559*e82f7db8SAndroid Build Coastguard Worker          )
560*e82f7db8SAndroid Build Coastguard Worker        (Reply
561*e82f7db8SAndroid Build Coastguard Worker            (Repeat counts "The number of counts that follow."
562*e82f7db8SAndroid Build Coastguard Worker              (long instanceCount "The number of instances for the corresponding reference type "
563*e82f7db8SAndroid Build Coastguard Worker                                  "in 'Out Data'.")
564*e82f7db8SAndroid Build Coastguard Worker            )
565*e82f7db8SAndroid Build Coastguard Worker        )
566*e82f7db8SAndroid Build Coastguard Worker        (ErrorSet
567*e82f7db8SAndroid Build Coastguard Worker            (Error ILLEGAL_ARGUMENT   "refTypesCount is less than zero.")
568*e82f7db8SAndroid Build Coastguard Worker            (Error NOT_IMPLEMENTED)
569*e82f7db8SAndroid Build Coastguard Worker            (Error VM_DEAD)
570*e82f7db8SAndroid Build Coastguard Worker        )
571*e82f7db8SAndroid Build Coastguard Worker    )
572*e82f7db8SAndroid Build Coastguard Worker)
573*e82f7db8SAndroid Build Coastguard Worker
574*e82f7db8SAndroid Build Coastguard Worker(CommandSet ReferenceType=2
575*e82f7db8SAndroid Build Coastguard Worker    (Command Signature=1
576*e82f7db8SAndroid Build Coastguard Worker        "Returns the JNI signature of a reference type. "
577*e82f7db8SAndroid Build Coastguard Worker        "JNI signature formats are described in the "
578*e82f7db8SAndroid Build Coastguard Worker        "<a href=\"http://java.sun.com/products/jdk/1.2/docs/guide/jni/index.html\">Java Native Inteface Specification</a>"
579*e82f7db8SAndroid Build Coastguard Worker        "<p>
580*e82f7db8SAndroid Build Coastguard Worker        "For primitive classes "
581*e82f7db8SAndroid Build Coastguard Worker        "the returned signature is the signature of the corresponding primitive "
582*e82f7db8SAndroid Build Coastguard Worker        "type; for example, \"I\" is returned as the signature of the class "
583*e82f7db8SAndroid Build Coastguard Worker        "represented by java.lang.Integer.TYPE."
584*e82f7db8SAndroid Build Coastguard Worker        (Out
585*e82f7db8SAndroid Build Coastguard Worker            (referenceType refType "The reference type ID.")
586*e82f7db8SAndroid Build Coastguard Worker        )
587*e82f7db8SAndroid Build Coastguard Worker        (Reply
588*e82f7db8SAndroid Build Coastguard Worker            (string signature
589*e82f7db8SAndroid Build Coastguard Worker                "The JNI signature for the reference type.")
590*e82f7db8SAndroid Build Coastguard Worker        )
591*e82f7db8SAndroid Build Coastguard Worker        (ErrorSet
592*e82f7db8SAndroid Build Coastguard Worker            (Error INVALID_CLASS     "refType is not the ID of a reference "
593*e82f7db8SAndroid Build Coastguard Worker                                     "type.")
594*e82f7db8SAndroid Build Coastguard Worker            (Error INVALID_OBJECT    "refType is not a known ID.")
595*e82f7db8SAndroid Build Coastguard Worker            (Error VM_DEAD)
596*e82f7db8SAndroid Build Coastguard Worker        )
597*e82f7db8SAndroid Build Coastguard Worker    )
598*e82f7db8SAndroid Build Coastguard Worker    (Command ClassLoader=2
599*e82f7db8SAndroid Build Coastguard Worker        "Returns the instance of java.lang.ClassLoader which loaded "
600*e82f7db8SAndroid Build Coastguard Worker        "a given reference type. If the reference type was loaded by the "
601*e82f7db8SAndroid Build Coastguard Worker        "system class loader, the returned object ID is null."
602*e82f7db8SAndroid Build Coastguard Worker        (Out
603*e82f7db8SAndroid Build Coastguard Worker            (referenceType refType "The reference type ID.")
604*e82f7db8SAndroid Build Coastguard Worker        )
605*e82f7db8SAndroid Build Coastguard Worker        (Reply
606*e82f7db8SAndroid Build Coastguard Worker            (classLoaderObject classLoader "The class loader for the reference type. ")
607*e82f7db8SAndroid Build Coastguard Worker        )
608*e82f7db8SAndroid Build Coastguard Worker        (ErrorSet
609*e82f7db8SAndroid Build Coastguard Worker            (Error INVALID_CLASS     "refType is not the ID of a reference "
610*e82f7db8SAndroid Build Coastguard Worker                                     "type.")
611*e82f7db8SAndroid Build Coastguard Worker            (Error INVALID_OBJECT    "refType is not a known ID.")
612*e82f7db8SAndroid Build Coastguard Worker            (Error VM_DEAD)
613*e82f7db8SAndroid Build Coastguard Worker        )
614*e82f7db8SAndroid Build Coastguard Worker    )
615*e82f7db8SAndroid Build Coastguard Worker    (Command Modifiers=3
616*e82f7db8SAndroid Build Coastguard Worker        "Returns the modifiers (also known as access flags) for a reference type. "
617*e82f7db8SAndroid Build Coastguard Worker        "The returned bit mask contains information on the declaration "
618*e82f7db8SAndroid Build Coastguard Worker        "of the reference type. If the reference type is an array or "
619*e82f7db8SAndroid Build Coastguard Worker        "a primitive class (for example, java.lang.Integer.TYPE), the "
620*e82f7db8SAndroid Build Coastguard Worker        "value of the returned bit mask is undefined."
621*e82f7db8SAndroid Build Coastguard Worker        (Out
622*e82f7db8SAndroid Build Coastguard Worker            (referenceType refType "The reference type ID.")
623*e82f7db8SAndroid Build Coastguard Worker        )
624*e82f7db8SAndroid Build Coastguard Worker        (Reply
625*e82f7db8SAndroid Build Coastguard Worker            (int modBits "Modifier bits as defined in Chapter 4 of "
626*e82f7db8SAndroid Build Coastguard Worker                         "<cite>The Java&trade; Virtual Machine Specification</cite>")
627*e82f7db8SAndroid Build Coastguard Worker        )
628*e82f7db8SAndroid Build Coastguard Worker        (ErrorSet
629*e82f7db8SAndroid Build Coastguard Worker            (Error INVALID_CLASS     "refType is not the ID of a reference "
630*e82f7db8SAndroid Build Coastguard Worker                                     "type.")
631*e82f7db8SAndroid Build Coastguard Worker            (Error INVALID_OBJECT    "refType is not a known ID.")
632*e82f7db8SAndroid Build Coastguard Worker            (Error VM_DEAD)
633*e82f7db8SAndroid Build Coastguard Worker        )
634*e82f7db8SAndroid Build Coastguard Worker    )
635*e82f7db8SAndroid Build Coastguard Worker    (Command Fields=4
636*e82f7db8SAndroid Build Coastguard Worker        "Returns information for each field in a reference type. "
637*e82f7db8SAndroid Build Coastguard Worker        "Inherited fields are not included. "
638*e82f7db8SAndroid Build Coastguard Worker        "The field list will include any synthetic fields created "
639*e82f7db8SAndroid Build Coastguard Worker        "by the compiler. "
640*e82f7db8SAndroid Build Coastguard Worker        "Fields are returned in the order they occur in the class file."
641*e82f7db8SAndroid Build Coastguard Worker        (Out
642*e82f7db8SAndroid Build Coastguard Worker            (referenceType refType "The reference type ID.")
643*e82f7db8SAndroid Build Coastguard Worker        )
644*e82f7db8SAndroid Build Coastguard Worker        (Reply
645*e82f7db8SAndroid Build Coastguard Worker            (Repeat declared "Number of declared fields."
646*e82f7db8SAndroid Build Coastguard Worker                (Group FieldInfo
647*e82f7db8SAndroid Build Coastguard Worker                    (field fieldID "Field ID.")
648*e82f7db8SAndroid Build Coastguard Worker                    (string name "Name of field.")
649*e82f7db8SAndroid Build Coastguard Worker                    (string signature "JNI Signature of field.")
650*e82f7db8SAndroid Build Coastguard Worker                    (int modBits "The modifier bit flags (also known as access flags) "
651*e82f7db8SAndroid Build Coastguard Worker                                 "which provide additional information on the  "
652*e82f7db8SAndroid Build Coastguard Worker                                 "field declaration. Individual flag values are "
653*e82f7db8SAndroid Build Coastguard Worker                                 "defined in Chapter 4 of "
654*e82f7db8SAndroid Build Coastguard Worker                                 "<cite>The Java&trade; Virtual Machine Specification</cite>. "
655*e82f7db8SAndroid Build Coastguard Worker                                 "In addition, The <code>0xf0000000</code> bit identifies "
656*e82f7db8SAndroid Build Coastguard Worker                                 "the field as synthetic, if the synthetic attribute "
657*e82f7db8SAndroid Build Coastguard Worker                                 "<a href=\"#JDWP_VirtualMachine_Capabilities\">capability</a> is available.")
658*e82f7db8SAndroid Build Coastguard Worker                )
659*e82f7db8SAndroid Build Coastguard Worker            )
660*e82f7db8SAndroid Build Coastguard Worker        )
661*e82f7db8SAndroid Build Coastguard Worker        (ErrorSet
662*e82f7db8SAndroid Build Coastguard Worker            (Error CLASS_NOT_PREPARED)
663*e82f7db8SAndroid Build Coastguard Worker            (Error INVALID_CLASS     "refType is not the ID of a reference "
664*e82f7db8SAndroid Build Coastguard Worker                                     "type.")
665*e82f7db8SAndroid Build Coastguard Worker            (Error INVALID_OBJECT    "refType is not a known ID.")
666*e82f7db8SAndroid Build Coastguard Worker            (Error VM_DEAD)
667*e82f7db8SAndroid Build Coastguard Worker        )
668*e82f7db8SAndroid Build Coastguard Worker    )
669*e82f7db8SAndroid Build Coastguard Worker    (Command Methods=5
670*e82f7db8SAndroid Build Coastguard Worker        "Returns information for each method in a reference type. "
671*e82f7db8SAndroid Build Coastguard Worker        "Inherited methods are not included. The list of methods will "
672*e82f7db8SAndroid Build Coastguard Worker        "include constructors (identified with the name \"&lt;init&gt;\"), "
673*e82f7db8SAndroid Build Coastguard Worker        "the initialization method (identified with the name \"&lt;clinit&gt;\") "
674*e82f7db8SAndroid Build Coastguard Worker        "if present, and any synthetic methods created by the compiler. "
675*e82f7db8SAndroid Build Coastguard Worker        "Methods are returned in the order they occur in the class file."
676*e82f7db8SAndroid Build Coastguard Worker        (Out
677*e82f7db8SAndroid Build Coastguard Worker            (referenceType refType "The reference type ID.")
678*e82f7db8SAndroid Build Coastguard Worker        )
679*e82f7db8SAndroid Build Coastguard Worker        (Reply
680*e82f7db8SAndroid Build Coastguard Worker            (Repeat declared "Number of declared methods."
681*e82f7db8SAndroid Build Coastguard Worker                (Group MethodInfo
682*e82f7db8SAndroid Build Coastguard Worker                    (method methodID "Method ID.")
683*e82f7db8SAndroid Build Coastguard Worker                    (string name "Name of method.")
684*e82f7db8SAndroid Build Coastguard Worker                    (string signature "JNI signature of method.")
685*e82f7db8SAndroid Build Coastguard Worker                    (int modBits "The modifier bit flags (also known as access flags) "
686*e82f7db8SAndroid Build Coastguard Worker                                 "which provide additional information on the  "
687*e82f7db8SAndroid Build Coastguard Worker                                 "method declaration. Individual flag values are "
688*e82f7db8SAndroid Build Coastguard Worker                                 "defined in Chapter 4 of "
689*e82f7db8SAndroid Build Coastguard Worker                                 "<cite>The Java&trade; Virtual Machine Specification</cite>. "
690*e82f7db8SAndroid Build Coastguard Worker                                 "In addition, The <code>0xf0000000</code> bit identifies "
691*e82f7db8SAndroid Build Coastguard Worker                                 "the method as synthetic, if the synthetic attribute "
692*e82f7db8SAndroid Build Coastguard Worker                                 "<a href=\"#JDWP_VirtualMachine_Capabilities\">capability</a> is available.")
693*e82f7db8SAndroid Build Coastguard Worker                )
694*e82f7db8SAndroid Build Coastguard Worker            )
695*e82f7db8SAndroid Build Coastguard Worker        )
696*e82f7db8SAndroid Build Coastguard Worker        (ErrorSet
697*e82f7db8SAndroid Build Coastguard Worker            (Error CLASS_NOT_PREPARED)
698*e82f7db8SAndroid Build Coastguard Worker            (Error INVALID_CLASS     "refType is not the ID of a reference "
699*e82f7db8SAndroid Build Coastguard Worker                                     "type.")
700*e82f7db8SAndroid Build Coastguard Worker            (Error INVALID_OBJECT    "refType is not a known ID.")
701*e82f7db8SAndroid Build Coastguard Worker            (Error VM_DEAD)
702*e82f7db8SAndroid Build Coastguard Worker        )
703*e82f7db8SAndroid Build Coastguard Worker    )
704*e82f7db8SAndroid Build Coastguard Worker    (Command GetValues=6
705*e82f7db8SAndroid Build Coastguard Worker        "Returns the value of one or more static fields of the "
706*e82f7db8SAndroid Build Coastguard Worker        "reference type. Each field must be member of the reference type "
707*e82f7db8SAndroid Build Coastguard Worker        "or one of its superclasses, superinterfaces, or implemented interfaces. "
708*e82f7db8SAndroid Build Coastguard Worker        "Access control is not enforced; for example, the values of private "
709*e82f7db8SAndroid Build Coastguard Worker        "fields can be obtained."
710*e82f7db8SAndroid Build Coastguard Worker        (Out
711*e82f7db8SAndroid Build Coastguard Worker            (referenceType refType "The reference type ID.")
712*e82f7db8SAndroid Build Coastguard Worker            (Repeat fields "The number of values to get"
713*e82f7db8SAndroid Build Coastguard Worker                (Group Field
714*e82f7db8SAndroid Build Coastguard Worker                    (field fieldID "A field to get")
715*e82f7db8SAndroid Build Coastguard Worker                )
716*e82f7db8SAndroid Build Coastguard Worker            )
717*e82f7db8SAndroid Build Coastguard Worker        )
718*e82f7db8SAndroid Build Coastguard Worker        (Reply
719*e82f7db8SAndroid Build Coastguard Worker            (Repeat values "The number of values returned, always equal to fields, "
720*e82f7db8SAndroid Build Coastguard Worker                           "the number of values to get."
721*e82f7db8SAndroid Build Coastguard Worker                (value value "The field value")
722*e82f7db8SAndroid Build Coastguard Worker            )
723*e82f7db8SAndroid Build Coastguard Worker        )
724*e82f7db8SAndroid Build Coastguard Worker        (ErrorSet
725*e82f7db8SAndroid Build Coastguard Worker            (Error INVALID_CLASS     "refType is not the ID of a reference "
726*e82f7db8SAndroid Build Coastguard Worker                                     "type.")
727*e82f7db8SAndroid Build Coastguard Worker            (Error INVALID_OBJECT    "refType is not a known ID.")
728*e82f7db8SAndroid Build Coastguard Worker            (Error INVALID_FIELDID)
729*e82f7db8SAndroid Build Coastguard Worker            (Error VM_DEAD)
730*e82f7db8SAndroid Build Coastguard Worker        )
731*e82f7db8SAndroid Build Coastguard Worker    )
732*e82f7db8SAndroid Build Coastguard Worker    (Command SourceFile=7
733*e82f7db8SAndroid Build Coastguard Worker        "Returns the name of source file in which a reference type was "
734*e82f7db8SAndroid Build Coastguard Worker        "declared. "
735*e82f7db8SAndroid Build Coastguard Worker        (Out
736*e82f7db8SAndroid Build Coastguard Worker            (referenceType refType "The reference type ID.")
737*e82f7db8SAndroid Build Coastguard Worker        )
738*e82f7db8SAndroid Build Coastguard Worker        (Reply
739*e82f7db8SAndroid Build Coastguard Worker            (string sourceFile "The source file name. No path information "
740*e82f7db8SAndroid Build Coastguard Worker                               "for the file is included")
741*e82f7db8SAndroid Build Coastguard Worker        )
742*e82f7db8SAndroid Build Coastguard Worker        (ErrorSet
743*e82f7db8SAndroid Build Coastguard Worker            (Error INVALID_CLASS     "refType is not the ID of a reference "
744*e82f7db8SAndroid Build Coastguard Worker                                     "type.")
745*e82f7db8SAndroid Build Coastguard Worker            (Error INVALID_OBJECT    "refType is not a known ID.")
746*e82f7db8SAndroid Build Coastguard Worker            (Error ABSENT_INFORMATION "The source file attribute is absent.")
747*e82f7db8SAndroid Build Coastguard Worker            (Error VM_DEAD)
748*e82f7db8SAndroid Build Coastguard Worker        )
749*e82f7db8SAndroid Build Coastguard Worker    )
750*e82f7db8SAndroid Build Coastguard Worker    (Command NestedTypes=8
751*e82f7db8SAndroid Build Coastguard Worker        "Returns the classes and interfaces directly nested within this type."
752*e82f7db8SAndroid Build Coastguard Worker        "Types further nested within those types are not included. "
753*e82f7db8SAndroid Build Coastguard Worker        (Out
754*e82f7db8SAndroid Build Coastguard Worker            (referenceType refType "The reference type ID.")
755*e82f7db8SAndroid Build Coastguard Worker        )
756*e82f7db8SAndroid Build Coastguard Worker        (Reply
757*e82f7db8SAndroid Build Coastguard Worker            (Repeat classes "The number of nested classes and interfaces"
758*e82f7db8SAndroid Build Coastguard Worker                (Group TypeInfo
759*e82f7db8SAndroid Build Coastguard Worker                    (byte refTypeTag  "<a href=\"#JDWP_TypeTag\">Kind</a> "
760*e82f7db8SAndroid Build Coastguard Worker                                      "of following reference type. ")
761*e82f7db8SAndroid Build Coastguard Worker                    (referenceTypeID typeID "The nested class or interface ID.")
762*e82f7db8SAndroid Build Coastguard Worker                )
763*e82f7db8SAndroid Build Coastguard Worker            )
764*e82f7db8SAndroid Build Coastguard Worker        )
765*e82f7db8SAndroid Build Coastguard Worker        (ErrorSet
766*e82f7db8SAndroid Build Coastguard Worker            (Error INVALID_CLASS     "refType is not the ID of a reference "
767*e82f7db8SAndroid Build Coastguard Worker                                     "type.")
768*e82f7db8SAndroid Build Coastguard Worker            (Error INVALID_OBJECT    "refType is not a known ID.")
769*e82f7db8SAndroid Build Coastguard Worker            (Error VM_DEAD)
770*e82f7db8SAndroid Build Coastguard Worker        )
771*e82f7db8SAndroid Build Coastguard Worker    )
772*e82f7db8SAndroid Build Coastguard Worker    (Command Status=9
773*e82f7db8SAndroid Build Coastguard Worker        "Returns the current status of the reference type. The status "
774*e82f7db8SAndroid Build Coastguard Worker        "indicates the extent to which the reference type has been "
775*e82f7db8SAndroid Build Coastguard Worker        "initialized, as described in section 2.1.6 of "
776*e82f7db8SAndroid Build Coastguard Worker        "<cite>The Java&trade; Virtual Machine Specification</cite>. "
777*e82f7db8SAndroid Build Coastguard Worker        "If the class is linked the PREPARED and VERIFIED bits in the returned status bits "
778*e82f7db8SAndroid Build Coastguard Worker        "will be set. If the class is initialized the INITIALIZED bit in the returned "
779*e82f7db8SAndroid Build Coastguard Worker        "status bits will be set. If an error occured during initialization then the "
780*e82f7db8SAndroid Build Coastguard Worker        "ERROR bit in the returned status bits will be set. "
781*e82f7db8SAndroid Build Coastguard Worker        "The returned status bits are undefined for array types and for "
782*e82f7db8SAndroid Build Coastguard Worker        "primitive classes (such as java.lang.Integer.TYPE). "
783*e82f7db8SAndroid Build Coastguard Worker        (Out
784*e82f7db8SAndroid Build Coastguard Worker            (referenceType refType "The reference type ID.")
785*e82f7db8SAndroid Build Coastguard Worker        )
786*e82f7db8SAndroid Build Coastguard Worker        (Reply
787*e82f7db8SAndroid Build Coastguard Worker            (int status "<a href=\"#JDWP_ClassStatus\">Status</a> bits:"
788*e82f7db8SAndroid Build Coastguard Worker                        "See <a href=\"#JDWP_ClassStatus\">JDWP.ClassStatus</a>")
789*e82f7db8SAndroid Build Coastguard Worker        )
790*e82f7db8SAndroid Build Coastguard Worker        (ErrorSet
791*e82f7db8SAndroid Build Coastguard Worker            (Error INVALID_CLASS     "refType is not the ID of a reference "
792*e82f7db8SAndroid Build Coastguard Worker                                     "type.")
793*e82f7db8SAndroid Build Coastguard Worker            (Error INVALID_OBJECT    "refType is not a known ID.")
794*e82f7db8SAndroid Build Coastguard Worker            (Error VM_DEAD)
795*e82f7db8SAndroid Build Coastguard Worker        )
796*e82f7db8SAndroid Build Coastguard Worker    )
797*e82f7db8SAndroid Build Coastguard Worker    (Command Interfaces=10
798*e82f7db8SAndroid Build Coastguard Worker        "Returns the interfaces declared as implemented by this class. "
799*e82f7db8SAndroid Build Coastguard Worker        "Interfaces indirectly implemented (extended by the implemented "
800*e82f7db8SAndroid Build Coastguard Worker        "interface or implemented by a superclass) are not included."
801*e82f7db8SAndroid Build Coastguard Worker        (Out
802*e82f7db8SAndroid Build Coastguard Worker            (referenceType refType "The reference type ID.")
803*e82f7db8SAndroid Build Coastguard Worker        )
804*e82f7db8SAndroid Build Coastguard Worker        (Reply
805*e82f7db8SAndroid Build Coastguard Worker            (Repeat interfaces "The number of implemented interfaces"
806*e82f7db8SAndroid Build Coastguard Worker                (interfaceType interfaceType "implemented interface.")
807*e82f7db8SAndroid Build Coastguard Worker            )
808*e82f7db8SAndroid Build Coastguard Worker        )
809*e82f7db8SAndroid Build Coastguard Worker        (ErrorSet
810*e82f7db8SAndroid Build Coastguard Worker            (Error INVALID_CLASS     "refType is not the ID of a reference "
811*e82f7db8SAndroid Build Coastguard Worker                                     "type.")
812*e82f7db8SAndroid Build Coastguard Worker            (Error INVALID_OBJECT    "refType is not a known ID.")
813*e82f7db8SAndroid Build Coastguard Worker            (Error VM_DEAD)
814*e82f7db8SAndroid Build Coastguard Worker        )
815*e82f7db8SAndroid Build Coastguard Worker    )
816*e82f7db8SAndroid Build Coastguard Worker    (Command ClassObject=11
817*e82f7db8SAndroid Build Coastguard Worker        "Returns the class object corresponding to this type. "
818*e82f7db8SAndroid Build Coastguard Worker        (Out
819*e82f7db8SAndroid Build Coastguard Worker            (referenceType refType "The reference type ID.")
820*e82f7db8SAndroid Build Coastguard Worker        )
821*e82f7db8SAndroid Build Coastguard Worker        (Reply
822*e82f7db8SAndroid Build Coastguard Worker            (classObject classObject "class object.")
823*e82f7db8SAndroid Build Coastguard Worker        )
824*e82f7db8SAndroid Build Coastguard Worker        (ErrorSet
825*e82f7db8SAndroid Build Coastguard Worker            (Error INVALID_CLASS     "refType is not the ID of a reference "
826*e82f7db8SAndroid Build Coastguard Worker                                     "type.")
827*e82f7db8SAndroid Build Coastguard Worker            (Error INVALID_OBJECT    "refType is not a known ID.")
828*e82f7db8SAndroid Build Coastguard Worker            (Error VM_DEAD)
829*e82f7db8SAndroid Build Coastguard Worker        )
830*e82f7db8SAndroid Build Coastguard Worker    )
831*e82f7db8SAndroid Build Coastguard Worker    (Command SourceDebugExtension=12
832*e82f7db8SAndroid Build Coastguard Worker        "Returns the value of the SourceDebugExtension attribute. "
833*e82f7db8SAndroid Build Coastguard Worker        "Since JDWP version 1.4. Requires canGetSourceDebugExtension capability - see "
834*e82f7db8SAndroid Build Coastguard Worker        "<a href=\"#JDWP_VirtualMachine_CapabilitiesNew\">CapabilitiesNew</a>."
835*e82f7db8SAndroid Build Coastguard Worker        (Out
836*e82f7db8SAndroid Build Coastguard Worker            (referenceType refType "The reference type ID.")
837*e82f7db8SAndroid Build Coastguard Worker        )
838*e82f7db8SAndroid Build Coastguard Worker        (Reply
839*e82f7db8SAndroid Build Coastguard Worker            (string extension "extension attribute")
840*e82f7db8SAndroid Build Coastguard Worker        )
841*e82f7db8SAndroid Build Coastguard Worker        (ErrorSet
842*e82f7db8SAndroid Build Coastguard Worker            (Error INVALID_CLASS      "refType is not the ID of a reference "
843*e82f7db8SAndroid Build Coastguard Worker                                      "type.")
844*e82f7db8SAndroid Build Coastguard Worker            (Error INVALID_OBJECT     "refType is not a known ID.")
845*e82f7db8SAndroid Build Coastguard Worker            (Error ABSENT_INFORMATION "If the extension is not specified.")
846*e82f7db8SAndroid Build Coastguard Worker            (Error NOT_IMPLEMENTED)
847*e82f7db8SAndroid Build Coastguard Worker            (Error VM_DEAD)
848*e82f7db8SAndroid Build Coastguard Worker        )
849*e82f7db8SAndroid Build Coastguard Worker    )
850*e82f7db8SAndroid Build Coastguard Worker    (Command SignatureWithGeneric=13
851*e82f7db8SAndroid Build Coastguard Worker        "Returns the JNI signature of a reference type along with the "
852*e82f7db8SAndroid Build Coastguard Worker        "generic signature if there is one.  "
853*e82f7db8SAndroid Build Coastguard Worker        "Generic signatures are described in the signature attribute "
854*e82f7db8SAndroid Build Coastguard Worker        "section in "
855*e82f7db8SAndroid Build Coastguard Worker        "<cite>The Java&trade; Virtual Machine Specification</cite>. "
856*e82f7db8SAndroid Build Coastguard Worker        "Since JDWP version 1.5."
857*e82f7db8SAndroid Build Coastguard Worker        "<p>
858*e82f7db8SAndroid Build Coastguard Worker        (Out
859*e82f7db8SAndroid Build Coastguard Worker            (referenceType refType "The reference type ID.")
860*e82f7db8SAndroid Build Coastguard Worker        )
861*e82f7db8SAndroid Build Coastguard Worker        (Reply
862*e82f7db8SAndroid Build Coastguard Worker            (string signature
863*e82f7db8SAndroid Build Coastguard Worker                "The JNI signature for the reference type.")
864*e82f7db8SAndroid Build Coastguard Worker            (string genericSignature
865*e82f7db8SAndroid Build Coastguard Worker                "The generic signature for the reference type or an empty "
866*e82f7db8SAndroid Build Coastguard Worker                "string if there is none.")
867*e82f7db8SAndroid Build Coastguard Worker        )
868*e82f7db8SAndroid Build Coastguard Worker        (ErrorSet
869*e82f7db8SAndroid Build Coastguard Worker            (Error INVALID_CLASS     "refType is not the ID of a reference "
870*e82f7db8SAndroid Build Coastguard Worker                                     "type.")
871*e82f7db8SAndroid Build Coastguard Worker            (Error INVALID_OBJECT    "refType is not a known ID.")
872*e82f7db8SAndroid Build Coastguard Worker            (Error VM_DEAD)
873*e82f7db8SAndroid Build Coastguard Worker        )
874*e82f7db8SAndroid Build Coastguard Worker    )
875*e82f7db8SAndroid Build Coastguard Worker    (Command FieldsWithGeneric=14
876*e82f7db8SAndroid Build Coastguard Worker        "Returns information, including the generic signature if any, "
877*e82f7db8SAndroid Build Coastguard Worker        "for each field in a reference type. "
878*e82f7db8SAndroid Build Coastguard Worker        "Inherited fields are not included. "
879*e82f7db8SAndroid Build Coastguard Worker        "The field list will include any synthetic fields created "
880*e82f7db8SAndroid Build Coastguard Worker        "by the compiler. "
881*e82f7db8SAndroid Build Coastguard Worker        "Fields are returned in the order they occur in the class file.  "
882*e82f7db8SAndroid Build Coastguard Worker        "Generic signatures are described in the signature attribute "
883*e82f7db8SAndroid Build Coastguard Worker        "section in "
884*e82f7db8SAndroid Build Coastguard Worker        "<cite>The Java&trade; Virtual Machine Specification</cite>. "
885*e82f7db8SAndroid Build Coastguard Worker        "Since JDWP version 1.5."
886*e82f7db8SAndroid Build Coastguard Worker        (Out
887*e82f7db8SAndroid Build Coastguard Worker            (referenceType refType "The reference type ID.")
888*e82f7db8SAndroid Build Coastguard Worker        )
889*e82f7db8SAndroid Build Coastguard Worker        (Reply
890*e82f7db8SAndroid Build Coastguard Worker            (Repeat declared "Number of declared fields."
891*e82f7db8SAndroid Build Coastguard Worker                (Group FieldInfo
892*e82f7db8SAndroid Build Coastguard Worker                    (field fieldID "Field ID.")
893*e82f7db8SAndroid Build Coastguard Worker                    (string name "The name of the field.")
894*e82f7db8SAndroid Build Coastguard Worker                    (string signature "The JNI signature of the field.")
895*e82f7db8SAndroid Build Coastguard Worker                    (string genericSignature "The generic signature of the "
896*e82f7db8SAndroid Build Coastguard Worker                                             "field, or an empty string if there is none.")
897*e82f7db8SAndroid Build Coastguard Worker                    (int modBits "The modifier bit flags (also known as access flags) "
898*e82f7db8SAndroid Build Coastguard Worker                                 "which provide additional information on the  "
899*e82f7db8SAndroid Build Coastguard Worker                                 "field declaration. Individual flag values are "
900*e82f7db8SAndroid Build Coastguard Worker                                 "defined in Chapter 4 of "
901*e82f7db8SAndroid Build Coastguard Worker                                 "<cite>The Java&trade; Virtual Machine Specification</cite>. "
902*e82f7db8SAndroid Build Coastguard Worker                                 "In addition, The <code>0xf0000000</code> bit identifies "
903*e82f7db8SAndroid Build Coastguard Worker                                 "the field as synthetic, if the synthetic attribute "
904*e82f7db8SAndroid Build Coastguard Worker                                 "<a href=\"#JDWP_VirtualMachine_Capabilities\">capability</a> is available.")
905*e82f7db8SAndroid Build Coastguard Worker                )
906*e82f7db8SAndroid Build Coastguard Worker            )
907*e82f7db8SAndroid Build Coastguard Worker        )
908*e82f7db8SAndroid Build Coastguard Worker        (ErrorSet
909*e82f7db8SAndroid Build Coastguard Worker            (Error CLASS_NOT_PREPARED)
910*e82f7db8SAndroid Build Coastguard Worker            (Error INVALID_CLASS     "refType is not the ID of a reference "
911*e82f7db8SAndroid Build Coastguard Worker                                     "type.")
912*e82f7db8SAndroid Build Coastguard Worker            (Error INVALID_OBJECT    "refType is not a known ID.")
913*e82f7db8SAndroid Build Coastguard Worker            (Error VM_DEAD)
914*e82f7db8SAndroid Build Coastguard Worker        )
915*e82f7db8SAndroid Build Coastguard Worker    )
916*e82f7db8SAndroid Build Coastguard Worker    (Command MethodsWithGeneric=15
917*e82f7db8SAndroid Build Coastguard Worker        "Returns information, including the generic signature if any, "
918*e82f7db8SAndroid Build Coastguard Worker        "for each method in a reference type. "
919*e82f7db8SAndroid Build Coastguard Worker        "Inherited methodss are not included. The list of methods will "
920*e82f7db8SAndroid Build Coastguard Worker        "include constructors (identified with the name \"&lt;init&gt;\"), "
921*e82f7db8SAndroid Build Coastguard Worker        "the initialization method (identified with the name \"&lt;clinit&gt;\") "
922*e82f7db8SAndroid Build Coastguard Worker        "if present, and any synthetic methods created by the compiler. "
923*e82f7db8SAndroid Build Coastguard Worker        "Methods are returned in the order they occur in the class file.  "
924*e82f7db8SAndroid Build Coastguard Worker        "Generic signatures are described in the signature attribute "
925*e82f7db8SAndroid Build Coastguard Worker        "section in "
926*e82f7db8SAndroid Build Coastguard Worker        "<cite>The Java&trade; Virtual Machine Specification</cite>. "
927*e82f7db8SAndroid Build Coastguard Worker        "Since JDWP version 1.5."
928*e82f7db8SAndroid Build Coastguard Worker        (Out
929*e82f7db8SAndroid Build Coastguard Worker            (referenceType refType "The reference type ID.")
930*e82f7db8SAndroid Build Coastguard Worker        )
931*e82f7db8SAndroid Build Coastguard Worker        (Reply
932*e82f7db8SAndroid Build Coastguard Worker            (Repeat declared "Number of declared methods."
933*e82f7db8SAndroid Build Coastguard Worker                (Group MethodInfo
934*e82f7db8SAndroid Build Coastguard Worker                    (method methodID "Method ID.")
935*e82f7db8SAndroid Build Coastguard Worker                    (string name "The name of the method.")
936*e82f7db8SAndroid Build Coastguard Worker                    (string signature "The JNI signature of the method.")
937*e82f7db8SAndroid Build Coastguard Worker                    (string genericSignature "The generic signature of the method, or "
938*e82f7db8SAndroid Build Coastguard Worker                                             "an empty string if there is none.")
939*e82f7db8SAndroid Build Coastguard Worker                    (int modBits "The modifier bit flags (also known as access flags) "
940*e82f7db8SAndroid Build Coastguard Worker                                 "which provide additional information on the  "
941*e82f7db8SAndroid Build Coastguard Worker                                 "method declaration. Individual flag values are "
942*e82f7db8SAndroid Build Coastguard Worker                                 "defined in Chapter 4 of "
943*e82f7db8SAndroid Build Coastguard Worker                                 "<cite>The Java&trade; Virtual Machine Specification</cite>. "
944*e82f7db8SAndroid Build Coastguard Worker                                 "In addition, The <code>0xf0000000</code> bit identifies "
945*e82f7db8SAndroid Build Coastguard Worker                                 "the method as synthetic, if the synthetic attribute "
946*e82f7db8SAndroid Build Coastguard Worker                                 "<a href=\"#JDWP_VirtualMachine_Capabilities\">capability</a> is available.")
947*e82f7db8SAndroid Build Coastguard Worker                )
948*e82f7db8SAndroid Build Coastguard Worker            )
949*e82f7db8SAndroid Build Coastguard Worker        )
950*e82f7db8SAndroid Build Coastguard Worker        (ErrorSet
951*e82f7db8SAndroid Build Coastguard Worker            (Error CLASS_NOT_PREPARED)
952*e82f7db8SAndroid Build Coastguard Worker            (Error INVALID_CLASS     "refType is not the ID of a reference "
953*e82f7db8SAndroid Build Coastguard Worker                                     "type.")
954*e82f7db8SAndroid Build Coastguard Worker            (Error INVALID_OBJECT    "refType is not a known ID.")
955*e82f7db8SAndroid Build Coastguard Worker            (Error VM_DEAD)
956*e82f7db8SAndroid Build Coastguard Worker        )
957*e82f7db8SAndroid Build Coastguard Worker    )
958*e82f7db8SAndroid Build Coastguard Worker    (Command Instances=16
959*e82f7db8SAndroid Build Coastguard Worker        "Returns instances of this reference type. "
960*e82f7db8SAndroid Build Coastguard Worker        "Only instances that are reachable for the purposes of "
961*e82f7db8SAndroid Build Coastguard Worker        "garbage collection are returned. "
962*e82f7db8SAndroid Build Coastguard Worker        "<p>Since JDWP version 1.6. Requires canGetInstanceInfo capability - see "
963*e82f7db8SAndroid Build Coastguard Worker        "<a href=\"#JDWP_VirtualMachine_CapabilitiesNew\">CapabilitiesNew</a>."
964*e82f7db8SAndroid Build Coastguard Worker        (Out
965*e82f7db8SAndroid Build Coastguard Worker            (referenceType refType "The reference type ID.")
966*e82f7db8SAndroid Build Coastguard Worker            (int maxInstances "Maximum number of instances to return.  Must be non-negative. "
967*e82f7db8SAndroid Build Coastguard Worker                              "If zero, all instances are returned.")
968*e82f7db8SAndroid Build Coastguard Worker        )
969*e82f7db8SAndroid Build Coastguard Worker        (Reply
970*e82f7db8SAndroid Build Coastguard Worker            (Repeat instances "The number of instances that follow."
971*e82f7db8SAndroid Build Coastguard Worker                 (tagged-object instance "An instance of this reference type.")
972*e82f7db8SAndroid Build Coastguard Worker             )
973*e82f7db8SAndroid Build Coastguard Worker        )
974*e82f7db8SAndroid Build Coastguard Worker        (ErrorSet
975*e82f7db8SAndroid Build Coastguard Worker            (Error INVALID_CLASS     "refType is not the ID of a reference "
976*e82f7db8SAndroid Build Coastguard Worker                                     "type.")
977*e82f7db8SAndroid Build Coastguard Worker            (Error INVALID_OBJECT    "refType is not a known ID.")
978*e82f7db8SAndroid Build Coastguard Worker            (Error ILLEGAL_ARGUMENT  "maxInstances is less than zero.")
979*e82f7db8SAndroid Build Coastguard Worker            (Error NOT_IMPLEMENTED)
980*e82f7db8SAndroid Build Coastguard Worker            (Error VM_DEAD)
981*e82f7db8SAndroid Build Coastguard Worker        )
982*e82f7db8SAndroid Build Coastguard Worker    )
983*e82f7db8SAndroid Build Coastguard Worker    (Command ClassFileVersion=17
984*e82f7db8SAndroid Build Coastguard Worker        "Returns the class file major and minor version numbers, as defined in the class "
985*e82f7db8SAndroid Build Coastguard Worker        "file format of the Java Virtual Machine specification. "
986*e82f7db8SAndroid Build Coastguard Worker         "<p>Since JDWP version 1.6. "
987*e82f7db8SAndroid Build Coastguard Worker        (Out
988*e82f7db8SAndroid Build Coastguard Worker            (referenceType refType "The class.")
989*e82f7db8SAndroid Build Coastguard Worker        )
990*e82f7db8SAndroid Build Coastguard Worker        (Reply
991*e82f7db8SAndroid Build Coastguard Worker            (int majorVersion "Major version number")
992*e82f7db8SAndroid Build Coastguard Worker            (int minorVersion "Minor version number")
993*e82f7db8SAndroid Build Coastguard Worker        )
994*e82f7db8SAndroid Build Coastguard Worker        (ErrorSet
995*e82f7db8SAndroid Build Coastguard Worker            (Error INVALID_CLASS     "refType is not the ID of a reference "
996*e82f7db8SAndroid Build Coastguard Worker                                     "type.")
997*e82f7db8SAndroid Build Coastguard Worker            (Error INVALID_OBJECT    "refType is not a known ID.")
998*e82f7db8SAndroid Build Coastguard Worker            (Error ABSENT_INFORMATION "The class file version information is "
999*e82f7db8SAndroid Build Coastguard Worker                                      "absent for primitive and array types.")
1000*e82f7db8SAndroid Build Coastguard Worker            (Error VM_DEAD)
1001*e82f7db8SAndroid Build Coastguard Worker        )
1002*e82f7db8SAndroid Build Coastguard Worker    )
1003*e82f7db8SAndroid Build Coastguard Worker    (Command ConstantPool=18
1004*e82f7db8SAndroid Build Coastguard Worker        "Return the raw bytes of the constant pool in the format of the "
1005*e82f7db8SAndroid Build Coastguard Worker        "constant_pool item of the Class File Format in "
1006*e82f7db8SAndroid Build Coastguard Worker        "<cite>The Java&trade; Virtual Machine Specification</cite>. "
1007*e82f7db8SAndroid Build Coastguard Worker        "<p>Since JDWP version 1.6. Requires canGetConstantPool capability - see "
1008*e82f7db8SAndroid Build Coastguard Worker        "<a href=\"#JDWP_VirtualMachine_CapabilitiesNew\">CapabilitiesNew</a>.""
1009*e82f7db8SAndroid Build Coastguard Worker        (Out
1010*e82f7db8SAndroid Build Coastguard Worker            (referenceType refType "The class.")
1011*e82f7db8SAndroid Build Coastguard Worker        )
1012*e82f7db8SAndroid Build Coastguard Worker        (Reply
1013*e82f7db8SAndroid Build Coastguard Worker            (int count "Total number of constant pool entries plus one. This "
1014*e82f7db8SAndroid Build Coastguard Worker                       "corresponds to the constant_pool_count item of the "
1015*e82f7db8SAndroid Build Coastguard Worker                       "Class File Format in "
1016*e82f7db8SAndroid Build Coastguard Worker                       "<cite>The Java&trade; Virtual Machine Specification</cite>. ")
1017*e82f7db8SAndroid Build Coastguard Worker            (Repeat bytes
1018*e82f7db8SAndroid Build Coastguard Worker                (byte cpbytes "Raw bytes of constant pool")
1019*e82f7db8SAndroid Build Coastguard Worker            )
1020*e82f7db8SAndroid Build Coastguard Worker        )
1021*e82f7db8SAndroid Build Coastguard Worker        (ErrorSet
1022*e82f7db8SAndroid Build Coastguard Worker            (Error INVALID_CLASS     "refType is not the ID of a reference "
1023*e82f7db8SAndroid Build Coastguard Worker                                     "type.")
1024*e82f7db8SAndroid Build Coastguard Worker            (Error INVALID_OBJECT    "refType is not a known ID.")
1025*e82f7db8SAndroid Build Coastguard Worker            (Error NOT_IMPLEMENTED   "If the target virtual machine does not "
1026*e82f7db8SAndroid Build Coastguard Worker                                     "support the retrieval of constant pool information.")
1027*e82f7db8SAndroid Build Coastguard Worker            (Error ABSENT_INFORMATION "The Constant Pool information is "
1028*e82f7db8SAndroid Build Coastguard Worker                                      "absent for primitive and array types.")
1029*e82f7db8SAndroid Build Coastguard Worker            (Error VM_DEAD)
1030*e82f7db8SAndroid Build Coastguard Worker        )
1031*e82f7db8SAndroid Build Coastguard Worker    )
1032*e82f7db8SAndroid Build Coastguard Worker)
1033*e82f7db8SAndroid Build Coastguard Worker(CommandSet ClassType=3
1034*e82f7db8SAndroid Build Coastguard Worker    (Command Superclass=1
1035*e82f7db8SAndroid Build Coastguard Worker        "Returns the immediate superclass of a class."
1036*e82f7db8SAndroid Build Coastguard Worker        (Out
1037*e82f7db8SAndroid Build Coastguard Worker            (classType clazz "The class type ID.")
1038*e82f7db8SAndroid Build Coastguard Worker        )
1039*e82f7db8SAndroid Build Coastguard Worker        (Reply
1040*e82f7db8SAndroid Build Coastguard Worker            (classType superclass
1041*e82f7db8SAndroid Build Coastguard Worker                "The superclass (null if the class ID for java.lang.Object is specified).")
1042*e82f7db8SAndroid Build Coastguard Worker        )
1043*e82f7db8SAndroid Build Coastguard Worker        (ErrorSet
1044*e82f7db8SAndroid Build Coastguard Worker            (Error INVALID_CLASS     "clazz is not the ID of a class.")
1045*e82f7db8SAndroid Build Coastguard Worker            (Error INVALID_OBJECT    "clazz is not a known ID.")
1046*e82f7db8SAndroid Build Coastguard Worker            (Error VM_DEAD)
1047*e82f7db8SAndroid Build Coastguard Worker        )
1048*e82f7db8SAndroid Build Coastguard Worker    )
1049*e82f7db8SAndroid Build Coastguard Worker    (Command SetValues=2
1050*e82f7db8SAndroid Build Coastguard Worker        "Sets the value of one or more static fields. "
1051*e82f7db8SAndroid Build Coastguard Worker        "Each field must be member of the class type "
1052*e82f7db8SAndroid Build Coastguard Worker        "or one of its superclasses, superinterfaces, or implemented interfaces. "
1053*e82f7db8SAndroid Build Coastguard Worker        "Access control is not enforced; for example, the values of private "
1054*e82f7db8SAndroid Build Coastguard Worker        "fields can be set. Final fields cannot be set."
1055*e82f7db8SAndroid Build Coastguard Worker        "For primitive values, the value's type must match the "
1056*e82f7db8SAndroid Build Coastguard Worker        "field's type exactly. For object values, there must exist a "
1057*e82f7db8SAndroid Build Coastguard Worker        "widening reference conversion from the value's type to the
1058*e82f7db8SAndroid Build Coastguard Worker        "field's type and the field's type must be loaded. "
1059*e82f7db8SAndroid Build Coastguard Worker        (Out
1060*e82f7db8SAndroid Build Coastguard Worker            (classType clazz "The class type ID.")
1061*e82f7db8SAndroid Build Coastguard Worker            (Repeat values "The number of fields to set."
1062*e82f7db8SAndroid Build Coastguard Worker                (Group FieldValue "A Field/Value pair."
1063*e82f7db8SAndroid Build Coastguard Worker                    (field fieldID "Field to set.")
1064*e82f7db8SAndroid Build Coastguard Worker                    (untagged-value value "Value to put in the field.")
1065*e82f7db8SAndroid Build Coastguard Worker                )
1066*e82f7db8SAndroid Build Coastguard Worker            )
1067*e82f7db8SAndroid Build Coastguard Worker        )
1068*e82f7db8SAndroid Build Coastguard Worker        (Reply "none"
1069*e82f7db8SAndroid Build Coastguard Worker        )
1070*e82f7db8SAndroid Build Coastguard Worker        (ErrorSet
1071*e82f7db8SAndroid Build Coastguard Worker            (Error INVALID_CLASS     "clazz is not the ID of a class.")
1072*e82f7db8SAndroid Build Coastguard Worker            (Error CLASS_NOT_PREPARED)
1073*e82f7db8SAndroid Build Coastguard Worker            (Error INVALID_OBJECT    "clazz is not a known ID or a value of an "
1074*e82f7db8SAndroid Build Coastguard Worker                                     "object field is not a known ID.")
1075*e82f7db8SAndroid Build Coastguard Worker            (Error INVALID_FIELDID)
1076*e82f7db8SAndroid Build Coastguard Worker            (Error VM_DEAD)
1077*e82f7db8SAndroid Build Coastguard Worker        )
1078*e82f7db8SAndroid Build Coastguard Worker    )
1079*e82f7db8SAndroid Build Coastguard Worker    (Command InvokeMethod=3
1080*e82f7db8SAndroid Build Coastguard Worker        "Invokes a static method. "
1081*e82f7db8SAndroid Build Coastguard Worker        "The method must be member of the class type "
1082*e82f7db8SAndroid Build Coastguard Worker        "or one of its superclasses, superinterfaces, or implemented interfaces. "
1083*e82f7db8SAndroid Build Coastguard Worker        "Access control is not enforced; for example, private "
1084*e82f7db8SAndroid Build Coastguard Worker        "methods can be invoked."
1085*e82f7db8SAndroid Build Coastguard Worker        "<p>"
1086*e82f7db8SAndroid Build Coastguard Worker        "The method invocation will occur in the specified thread. "
1087*e82f7db8SAndroid Build Coastguard Worker        "Method invocation can occur only if the specified thread "
1088*e82f7db8SAndroid Build Coastguard Worker        "has been suspended by an event. "
1089*e82f7db8SAndroid Build Coastguard Worker        "Method invocation is not supported "
1090*e82f7db8SAndroid Build Coastguard Worker        "when the target VM has been suspended by the front-end. "
1091*e82f7db8SAndroid Build Coastguard Worker        "<p>"
1092*e82f7db8SAndroid Build Coastguard Worker        "The specified method is invoked with the arguments in the specified "
1093*e82f7db8SAndroid Build Coastguard Worker        "argument list. "
1094*e82f7db8SAndroid Build Coastguard Worker        "The method invocation is synchronous; the reply packet is not "
1095*e82f7db8SAndroid Build Coastguard Worker        "sent until the invoked method returns in the target VM. "
1096*e82f7db8SAndroid Build Coastguard Worker        "The return value (possibly the void value) is "
1097*e82f7db8SAndroid Build Coastguard Worker        "included in the reply packet. "
1098*e82f7db8SAndroid Build Coastguard Worker        "If the invoked method throws an exception, the "
1099*e82f7db8SAndroid Build Coastguard Worker        "exception object ID is set in the reply packet; otherwise, the "
1100*e82f7db8SAndroid Build Coastguard Worker        "exception object ID is null. "
1101*e82f7db8SAndroid Build Coastguard Worker        "<p>"
1102*e82f7db8SAndroid Build Coastguard Worker        "For primitive arguments, the argument value's type must match the "
1103*e82f7db8SAndroid Build Coastguard Worker        "argument's type exactly. For object arguments, there must exist a "
1104*e82f7db8SAndroid Build Coastguard Worker        "widening reference conversion from the argument value's type to the "
1105*e82f7db8SAndroid Build Coastguard Worker        "argument's type and the argument's type must be loaded. "
1106*e82f7db8SAndroid Build Coastguard Worker        "<p>"
1107*e82f7db8SAndroid Build Coastguard Worker        "By default, all threads in the target VM are resumed while "
1108*e82f7db8SAndroid Build Coastguard Worker        "the method is being invoked if they were previously "
1109*e82f7db8SAndroid Build Coastguard Worker        "suspended by an event or by command. "
1110*e82f7db8SAndroid Build Coastguard Worker        "This is done to prevent the deadlocks "
1111*e82f7db8SAndroid Build Coastguard Worker        "that will occur if any of the threads own monitors "
1112*e82f7db8SAndroid Build Coastguard Worker        "that will be needed by the invoked method. It is possible that "
1113*e82f7db8SAndroid Build Coastguard Worker        "breakpoints or other events might occur during the invocation. "
1114*e82f7db8SAndroid Build Coastguard Worker        "Note, however, that this implicit resume acts exactly like "
1115*e82f7db8SAndroid Build Coastguard Worker        "the ThreadReference resume command, so if the thread's suspend "
1116*e82f7db8SAndroid Build Coastguard Worker        "count is greater than 1, it will remain in a suspended state "
1117*e82f7db8SAndroid Build Coastguard Worker        "during the invocation. By default, when the invocation completes, "
1118*e82f7db8SAndroid Build Coastguard Worker        "all threads in the target VM are suspended, regardless their state "
1119*e82f7db8SAndroid Build Coastguard Worker        "before the invocation. "
1120*e82f7db8SAndroid Build Coastguard Worker        "<p>"
1121*e82f7db8SAndroid Build Coastguard Worker        "The resumption of other threads during the invoke can be prevented "
1122*e82f7db8SAndroid Build Coastguard Worker        "by specifying the INVOKE_SINGLE_THREADED "
1123*e82f7db8SAndroid Build Coastguard Worker        "bit flag in the <code>options</code> field; however, "
1124*e82f7db8SAndroid Build Coastguard Worker        "there is no protection against or recovery from the deadlocks "
1125*e82f7db8SAndroid Build Coastguard Worker        "described above, so this option should be used with great caution. "
1126*e82f7db8SAndroid Build Coastguard Worker        "Only the specified thread will be resumed (as described for all "
1127*e82f7db8SAndroid Build Coastguard Worker        "threads above). Upon completion of a single threaded invoke, the invoking thread "
1128*e82f7db8SAndroid Build Coastguard Worker        "will be suspended once again. Note that any threads started during "
1129*e82f7db8SAndroid Build Coastguard Worker        "the single threaded invocation will not be suspended when the "
1130*e82f7db8SAndroid Build Coastguard Worker        "invocation completes. "
1131*e82f7db8SAndroid Build Coastguard Worker        "<p>"
1132*e82f7db8SAndroid Build Coastguard Worker        "If the target VM is disconnected during the invoke (for example, through "
1133*e82f7db8SAndroid Build Coastguard Worker        "the VirtualMachine dispose command) the method invocation continues. "
1134*e82f7db8SAndroid Build Coastguard Worker        (Out
1135*e82f7db8SAndroid Build Coastguard Worker            (classType clazz "The class type ID.")
1136*e82f7db8SAndroid Build Coastguard Worker            (threadObject thread "The thread in which to invoke.")
1137*e82f7db8SAndroid Build Coastguard Worker            (method methodID "The method to invoke.")
1138*e82f7db8SAndroid Build Coastguard Worker            (Repeat arguments
1139*e82f7db8SAndroid Build Coastguard Worker                (value arg "The argument value.")
1140*e82f7db8SAndroid Build Coastguard Worker            )
1141*e82f7db8SAndroid Build Coastguard Worker            (int options "Invocation <a href=\"#JDWP_InvokeOptions\">options</a>")
1142*e82f7db8SAndroid Build Coastguard Worker        )
1143*e82f7db8SAndroid Build Coastguard Worker        (Reply
1144*e82f7db8SAndroid Build Coastguard Worker            (value returnValue "The returned value.")
1145*e82f7db8SAndroid Build Coastguard Worker            (tagged-object exception "The thrown exception.")
1146*e82f7db8SAndroid Build Coastguard Worker        )
1147*e82f7db8SAndroid Build Coastguard Worker        (ErrorSet
1148*e82f7db8SAndroid Build Coastguard Worker            (Error INVALID_CLASS     "clazz is not the ID of a class.")
1149*e82f7db8SAndroid Build Coastguard Worker            (Error INVALID_OBJECT    "clazz is not a known ID.")
1150*e82f7db8SAndroid Build Coastguard Worker            (Error INVALID_METHODID  "methodID is not the ID of a static method in "
1151*e82f7db8SAndroid Build Coastguard Worker                                     "this class type or one of its superclasses.")
1152*e82f7db8SAndroid Build Coastguard Worker            (Error INVALID_THREAD)
1153*e82f7db8SAndroid Build Coastguard Worker            (Error THREAD_NOT_SUSPENDED)
1154*e82f7db8SAndroid Build Coastguard Worker            (Error VM_DEAD)
1155*e82f7db8SAndroid Build Coastguard Worker        )
1156*e82f7db8SAndroid Build Coastguard Worker    )
1157*e82f7db8SAndroid Build Coastguard Worker    (Command NewInstance=4
1158*e82f7db8SAndroid Build Coastguard Worker        "Creates a new object of this type, invoking the specified "
1159*e82f7db8SAndroid Build Coastguard Worker        "constructor. The constructor method ID must be a member of "
1160*e82f7db8SAndroid Build Coastguard Worker        "the class type."
1161*e82f7db8SAndroid Build Coastguard Worker        "<p>"
1162*e82f7db8SAndroid Build Coastguard Worker        "Instance creation will occur in the specified thread. "
1163*e82f7db8SAndroid Build Coastguard Worker        "Instance creation can occur only if the specified thread "
1164*e82f7db8SAndroid Build Coastguard Worker        "has been suspended by an event. "
1165*e82f7db8SAndroid Build Coastguard Worker        "Method invocation is not supported "
1166*e82f7db8SAndroid Build Coastguard Worker        "when the target VM has been suspended by the front-end. "
1167*e82f7db8SAndroid Build Coastguard Worker        "<p>"
1168*e82f7db8SAndroid Build Coastguard Worker        "The specified constructor is invoked with the arguments in the specified "
1169*e82f7db8SAndroid Build Coastguard Worker        "argument list. "
1170*e82f7db8SAndroid Build Coastguard Worker        "The constructor invocation is synchronous; the reply packet is not "
1171*e82f7db8SAndroid Build Coastguard Worker        "sent until the invoked method returns in the target VM. "
1172*e82f7db8SAndroid Build Coastguard Worker        "The return value (possibly the void value) is "
1173*e82f7db8SAndroid Build Coastguard Worker        "included in the reply packet. "
1174*e82f7db8SAndroid Build Coastguard Worker        "If the constructor throws an exception, the "
1175*e82f7db8SAndroid Build Coastguard Worker        "exception object ID is set in the reply packet; otherwise, the "
1176*e82f7db8SAndroid Build Coastguard Worker        "exception object ID is null. "
1177*e82f7db8SAndroid Build Coastguard Worker        "<p>"
1178*e82f7db8SAndroid Build Coastguard Worker        "For primitive arguments, the argument value's type must match the "
1179*e82f7db8SAndroid Build Coastguard Worker        "argument's type exactly. For object arguments, there must exist a "
1180*e82f7db8SAndroid Build Coastguard Worker        "widening reference conversion from the argument value's type to the "
1181*e82f7db8SAndroid Build Coastguard Worker        "argument's type and the argument's type must be loaded. "
1182*e82f7db8SAndroid Build Coastguard Worker        "<p>"
1183*e82f7db8SAndroid Build Coastguard Worker        "By default, all threads in the target VM are resumed while "
1184*e82f7db8SAndroid Build Coastguard Worker        "the method is being invoked if they were previously "
1185*e82f7db8SAndroid Build Coastguard Worker        "suspended by an event or by command. "
1186*e82f7db8SAndroid Build Coastguard Worker        "This is done to prevent the deadlocks "
1187*e82f7db8SAndroid Build Coastguard Worker        "that will occur if any of the threads own monitors "
1188*e82f7db8SAndroid Build Coastguard Worker        "that will be needed by the invoked method. It is possible that "
1189*e82f7db8SAndroid Build Coastguard Worker        "breakpoints or other events might occur during the invocation. "
1190*e82f7db8SAndroid Build Coastguard Worker        "Note, however, that this implicit resume acts exactly like "
1191*e82f7db8SAndroid Build Coastguard Worker        "the ThreadReference resume command, so if the thread's suspend "
1192*e82f7db8SAndroid Build Coastguard Worker        "count is greater than 1, it will remain in a suspended state "
1193*e82f7db8SAndroid Build Coastguard Worker        "during the invocation. By default, when the invocation completes, "
1194*e82f7db8SAndroid Build Coastguard Worker        "all threads in the target VM are suspended, regardless their state "
1195*e82f7db8SAndroid Build Coastguard Worker        "before the invocation. "
1196*e82f7db8SAndroid Build Coastguard Worker        "<p>"
1197*e82f7db8SAndroid Build Coastguard Worker        "The resumption of other threads during the invoke can be prevented "
1198*e82f7db8SAndroid Build Coastguard Worker        "by specifying the INVOKE_SINGLE_THREADED "
1199*e82f7db8SAndroid Build Coastguard Worker        "bit flag in the <code>options</code> field; however, "
1200*e82f7db8SAndroid Build Coastguard Worker        "there is no protection against or recovery from the deadlocks "
1201*e82f7db8SAndroid Build Coastguard Worker        "described above, so this option should be used with great caution. "
1202*e82f7db8SAndroid Build Coastguard Worker        "Only the specified thread will be resumed (as described for all "
1203*e82f7db8SAndroid Build Coastguard Worker        "threads above). Upon completion of a single threaded invoke, the invoking thread "
1204*e82f7db8SAndroid Build Coastguard Worker        "will be suspended once again. Note that any threads started during "
1205*e82f7db8SAndroid Build Coastguard Worker        "the single threaded invocation will not be suspended when the "
1206*e82f7db8SAndroid Build Coastguard Worker        "invocation completes. "
1207*e82f7db8SAndroid Build Coastguard Worker        "<p>"
1208*e82f7db8SAndroid Build Coastguard Worker        "If the target VM is disconnected during the invoke (for example, through "
1209*e82f7db8SAndroid Build Coastguard Worker        "the VirtualMachine dispose command) the method invocation continues. "
1210*e82f7db8SAndroid Build Coastguard Worker        (Out
1211*e82f7db8SAndroid Build Coastguard Worker            (classType clazz "The class type ID.")
1212*e82f7db8SAndroid Build Coastguard Worker            (threadObject thread "The thread in which to invoke the constructor.")
1213*e82f7db8SAndroid Build Coastguard Worker            (method methodID "The constructor to invoke.")
1214*e82f7db8SAndroid Build Coastguard Worker            (Repeat arguments
1215*e82f7db8SAndroid Build Coastguard Worker                (value arg "The argument value.")
1216*e82f7db8SAndroid Build Coastguard Worker            )
1217*e82f7db8SAndroid Build Coastguard Worker            (int options "Constructor invocation <a href=\"#JDWP_InvokeOptions\">options</a>")
1218*e82f7db8SAndroid Build Coastguard Worker        )
1219*e82f7db8SAndroid Build Coastguard Worker        (Reply
1220*e82f7db8SAndroid Build Coastguard Worker            (tagged-object newObject "The newly created object, or null "
1221*e82f7db8SAndroid Build Coastguard Worker                                     "if the constructor threw an exception.")
1222*e82f7db8SAndroid Build Coastguard Worker            (tagged-object exception "The thrown exception, if any; otherwise, null.")
1223*e82f7db8SAndroid Build Coastguard Worker        )
1224*e82f7db8SAndroid Build Coastguard Worker        (ErrorSet
1225*e82f7db8SAndroid Build Coastguard Worker            (Error INVALID_CLASS     "clazz is not the ID of a class.")
1226*e82f7db8SAndroid Build Coastguard Worker            (Error INVALID_OBJECT    "clazz is not a known ID or a value of an "
1227*e82f7db8SAndroid Build Coastguard Worker                                     "object parameter is not a known ID..")
1228*e82f7db8SAndroid Build Coastguard Worker            (Error INVALID_METHODID  "methodID is not the ID of a method.")
1229*e82f7db8SAndroid Build Coastguard Worker            (Error INVALID_OBJECT)
1230*e82f7db8SAndroid Build Coastguard Worker            (Error INVALID_THREAD)
1231*e82f7db8SAndroid Build Coastguard Worker            (Error THREAD_NOT_SUSPENDED)
1232*e82f7db8SAndroid Build Coastguard Worker            (Error VM_DEAD)
1233*e82f7db8SAndroid Build Coastguard Worker        )
1234*e82f7db8SAndroid Build Coastguard Worker    )
1235*e82f7db8SAndroid Build Coastguard Worker)
1236*e82f7db8SAndroid Build Coastguard Worker(CommandSet ArrayType=4
1237*e82f7db8SAndroid Build Coastguard Worker    (Command NewInstance=1
1238*e82f7db8SAndroid Build Coastguard Worker        "Creates a new array object of this type with a given length."
1239*e82f7db8SAndroid Build Coastguard Worker        (Out
1240*e82f7db8SAndroid Build Coastguard Worker            (arrayType arrType "The array type of the new instance.")
1241*e82f7db8SAndroid Build Coastguard Worker            (int length "The length of the array.")
1242*e82f7db8SAndroid Build Coastguard Worker        )
1243*e82f7db8SAndroid Build Coastguard Worker        (Reply
1244*e82f7db8SAndroid Build Coastguard Worker            (tagged-object newArray "The newly created array object. ")
1245*e82f7db8SAndroid Build Coastguard Worker        )
1246*e82f7db8SAndroid Build Coastguard Worker        (ErrorSet
1247*e82f7db8SAndroid Build Coastguard Worker            (Error INVALID_ARRAY)
1248*e82f7db8SAndroid Build Coastguard Worker            (Error INVALID_OBJECT)
1249*e82f7db8SAndroid Build Coastguard Worker            (Error VM_DEAD)
1250*e82f7db8SAndroid Build Coastguard Worker        )
1251*e82f7db8SAndroid Build Coastguard Worker    )
1252*e82f7db8SAndroid Build Coastguard Worker)
1253*e82f7db8SAndroid Build Coastguard Worker(CommandSet InterfaceType=5
1254*e82f7db8SAndroid Build Coastguard Worker    (Command InvokeMethod=1
1255*e82f7db8SAndroid Build Coastguard Worker        "Invokes a static method. "
1256*e82f7db8SAndroid Build Coastguard Worker        "The method must not be a static initializer. "
1257*e82f7db8SAndroid Build Coastguard Worker        "The method must be a member of the interface type. "
1258*e82f7db8SAndroid Build Coastguard Worker        "<p>Since JDWP version 1.8 "
1259*e82f7db8SAndroid Build Coastguard Worker        "<p>"
1260*e82f7db8SAndroid Build Coastguard Worker        "The method invocation will occur in the specified thread. "
1261*e82f7db8SAndroid Build Coastguard Worker        "Method invocation can occur only if the specified thread "
1262*e82f7db8SAndroid Build Coastguard Worker        "has been suspended by an event. "
1263*e82f7db8SAndroid Build Coastguard Worker        "Method invocation is not supported "
1264*e82f7db8SAndroid Build Coastguard Worker        "when the target VM has been suspended by the front-end. "
1265*e82f7db8SAndroid Build Coastguard Worker        "<p>"
1266*e82f7db8SAndroid Build Coastguard Worker        "The specified method is invoked with the arguments in the specified "
1267*e82f7db8SAndroid Build Coastguard Worker        "argument list. "
1268*e82f7db8SAndroid Build Coastguard Worker        "The method invocation is synchronous; the reply packet is not "
1269*e82f7db8SAndroid Build Coastguard Worker        "sent until the invoked method returns in the target VM. "
1270*e82f7db8SAndroid Build Coastguard Worker        "The return value (possibly the void value) is "
1271*e82f7db8SAndroid Build Coastguard Worker        "included in the reply packet. "
1272*e82f7db8SAndroid Build Coastguard Worker        "If the invoked method throws an exception, the "
1273*e82f7db8SAndroid Build Coastguard Worker        "exception object ID is set in the reply packet; otherwise, the "
1274*e82f7db8SAndroid Build Coastguard Worker        "exception object ID is null. "
1275*e82f7db8SAndroid Build Coastguard Worker        "<p>"
1276*e82f7db8SAndroid Build Coastguard Worker        "For primitive arguments, the argument value's type must match the "
1277*e82f7db8SAndroid Build Coastguard Worker        "argument's type exactly. For object arguments, there must exist a "
1278*e82f7db8SAndroid Build Coastguard Worker        "widening reference conversion from the argument value's type to the "
1279*e82f7db8SAndroid Build Coastguard Worker        "argument's type and the argument's type must be loaded. "
1280*e82f7db8SAndroid Build Coastguard Worker        "<p>"
1281*e82f7db8SAndroid Build Coastguard Worker        "By default, all threads in the target VM are resumed while "
1282*e82f7db8SAndroid Build Coastguard Worker        "the method is being invoked if they were previously "
1283*e82f7db8SAndroid Build Coastguard Worker        "suspended by an event or by a command. "
1284*e82f7db8SAndroid Build Coastguard Worker        "This is done to prevent the deadlocks "
1285*e82f7db8SAndroid Build Coastguard Worker        "that will occur if any of the threads own monitors "
1286*e82f7db8SAndroid Build Coastguard Worker        "that will be needed by the invoked method. It is possible that "
1287*e82f7db8SAndroid Build Coastguard Worker        "breakpoints or other events might occur during the invocation. "
1288*e82f7db8SAndroid Build Coastguard Worker        "Note, however, that this implicit resume acts exactly like "
1289*e82f7db8SAndroid Build Coastguard Worker        "the ThreadReference resume command, so if the thread's suspend "
1290*e82f7db8SAndroid Build Coastguard Worker        "count is greater than 1, it will remain in a suspended state "
1291*e82f7db8SAndroid Build Coastguard Worker        "during the invocation. By default, when the invocation completes, "
1292*e82f7db8SAndroid Build Coastguard Worker        "all threads in the target VM are suspended, regardless their state "
1293*e82f7db8SAndroid Build Coastguard Worker        "before the invocation. "
1294*e82f7db8SAndroid Build Coastguard Worker        "<p>"
1295*e82f7db8SAndroid Build Coastguard Worker        "The resumption of other threads during the invoke can be prevented "
1296*e82f7db8SAndroid Build Coastguard Worker        "by specifying the INVOKE_SINGLE_THREADED "
1297*e82f7db8SAndroid Build Coastguard Worker        "bit flag in the <code>options</code> field; however, "
1298*e82f7db8SAndroid Build Coastguard Worker        "there is no protection against or recovery from the deadlocks "
1299*e82f7db8SAndroid Build Coastguard Worker        "described above, so this option should be used with great caution. "
1300*e82f7db8SAndroid Build Coastguard Worker        "Only the specified thread will be resumed (as described for all "
1301*e82f7db8SAndroid Build Coastguard Worker        "threads above). Upon completion of a single threaded invoke, the invoking thread "
1302*e82f7db8SAndroid Build Coastguard Worker        "will be suspended once again. Note that any threads started during "
1303*e82f7db8SAndroid Build Coastguard Worker        "the single threaded invocation will not be suspended when the "
1304*e82f7db8SAndroid Build Coastguard Worker        "invocation completes. "
1305*e82f7db8SAndroid Build Coastguard Worker        "<p>"
1306*e82f7db8SAndroid Build Coastguard Worker        "If the target VM is disconnected during the invoke (for example, through "
1307*e82f7db8SAndroid Build Coastguard Worker        "the VirtualMachine dispose command) the method invocation continues. "
1308*e82f7db8SAndroid Build Coastguard Worker        (Out
1309*e82f7db8SAndroid Build Coastguard Worker            (interfaceType clazz "The interface type ID.")
1310*e82f7db8SAndroid Build Coastguard Worker            (threadObject thread "The thread in which to invoke.")
1311*e82f7db8SAndroid Build Coastguard Worker            (method methodID "The method to invoke.")
1312*e82f7db8SAndroid Build Coastguard Worker            (Repeat arguments
1313*e82f7db8SAndroid Build Coastguard Worker                (value arg "The argument value.")
1314*e82f7db8SAndroid Build Coastguard Worker            )
1315*e82f7db8SAndroid Build Coastguard Worker            (int options "Invocation <a href=\"#JDWP_InvokeOptions\">options</a>")
1316*e82f7db8SAndroid Build Coastguard Worker        )
1317*e82f7db8SAndroid Build Coastguard Worker        (Reply
1318*e82f7db8SAndroid Build Coastguard Worker            (value returnValue "The returned value.")
1319*e82f7db8SAndroid Build Coastguard Worker            (tagged-object exception "The thrown exception.")
1320*e82f7db8SAndroid Build Coastguard Worker        )
1321*e82f7db8SAndroid Build Coastguard Worker        (ErrorSet
1322*e82f7db8SAndroid Build Coastguard Worker            (Error INVALID_CLASS     "clazz is not the ID of an interface.")
1323*e82f7db8SAndroid Build Coastguard Worker            (Error INVALID_OBJECT    "clazz is not a known ID.")
1324*e82f7db8SAndroid Build Coastguard Worker            (Error INVALID_METHODID  "methodID is not the ID of a static method in this "
1325*e82f7db8SAndroid Build Coastguard Worker                                     "interface type or is the ID of a static initializer.")
1326*e82f7db8SAndroid Build Coastguard Worker            (Error INVALID_THREAD)
1327*e82f7db8SAndroid Build Coastguard Worker            (Error THREAD_NOT_SUSPENDED)
1328*e82f7db8SAndroid Build Coastguard Worker            (Error VM_DEAD)
1329*e82f7db8SAndroid Build Coastguard Worker        )
1330*e82f7db8SAndroid Build Coastguard Worker    )
1331*e82f7db8SAndroid Build Coastguard Worker)
1332*e82f7db8SAndroid Build Coastguard Worker(CommandSet Method=6
1333*e82f7db8SAndroid Build Coastguard Worker    (Command LineTable=1
1334*e82f7db8SAndroid Build Coastguard Worker        "Returns line number information for the method, if present. "
1335*e82f7db8SAndroid Build Coastguard Worker        "The line table maps source line numbers to the initial code index "
1336*e82f7db8SAndroid Build Coastguard Worker        "of the line. The line table "
1337*e82f7db8SAndroid Build Coastguard Worker        "is ordered by code index (from lowest to highest). The line number "
1338*e82f7db8SAndroid Build Coastguard Worker        "information is constant unless a new class definition is installed "
1339*e82f7db8SAndroid Build Coastguard Worker        "using <a href=\"#JDWP_VirtualMachine_RedefineClasses\">RedefineClasses</a>."
1340*e82f7db8SAndroid Build Coastguard Worker        (Out
1341*e82f7db8SAndroid Build Coastguard Worker            (referenceType refType "The class.")
1342*e82f7db8SAndroid Build Coastguard Worker            (method methodID "The method.")
1343*e82f7db8SAndroid Build Coastguard Worker        )
1344*e82f7db8SAndroid Build Coastguard Worker        (Reply
1345*e82f7db8SAndroid Build Coastguard Worker            (long start "Lowest valid code index for the method, >=0, or -1 if the method is native ")
1346*e82f7db8SAndroid Build Coastguard Worker            (long end "Highest valid code index for the method, >=0, or -1 if the method is native")
1347*e82f7db8SAndroid Build Coastguard Worker            (Repeat lines "The number of entries in the line table for this method."
1348*e82f7db8SAndroid Build Coastguard Worker                (Group LineInfo
1349*e82f7db8SAndroid Build Coastguard Worker                    (long lineCodeIndex "Initial code index of the line, "
1350*e82f7db8SAndroid Build Coastguard Worker                                        "start <= lineCodeIndex < end")
1351*e82f7db8SAndroid Build Coastguard Worker                    (int lineNumber "Line number.")
1352*e82f7db8SAndroid Build Coastguard Worker                )
1353*e82f7db8SAndroid Build Coastguard Worker            )
1354*e82f7db8SAndroid Build Coastguard Worker        )
1355*e82f7db8SAndroid Build Coastguard Worker        (ErrorSet
1356*e82f7db8SAndroid Build Coastguard Worker            (Error INVALID_CLASS     "refType is not the ID of a reference "
1357*e82f7db8SAndroid Build Coastguard Worker                                     "type.")
1358*e82f7db8SAndroid Build Coastguard Worker            (Error INVALID_OBJECT    "refType is not a known ID.")
1359*e82f7db8SAndroid Build Coastguard Worker            (Error INVALID_METHODID  "methodID is not the ID of a method.")
1360*e82f7db8SAndroid Build Coastguard Worker            (Error VM_DEAD)
1361*e82f7db8SAndroid Build Coastguard Worker        )
1362*e82f7db8SAndroid Build Coastguard Worker    )
1363*e82f7db8SAndroid Build Coastguard Worker    (Command VariableTable=2
1364*e82f7db8SAndroid Build Coastguard Worker        "Returns variable information for the method. The variable table "
1365*e82f7db8SAndroid Build Coastguard Worker        "includes arguments and locals declared within the method. For "
1366*e82f7db8SAndroid Build Coastguard Worker        "instance methods, the \"this\" reference is included in the "
1367*e82f7db8SAndroid Build Coastguard Worker        "table. Also, synthetic variables may be present. "
1368*e82f7db8SAndroid Build Coastguard Worker        (Out
1369*e82f7db8SAndroid Build Coastguard Worker            (referenceType refType "The class.")
1370*e82f7db8SAndroid Build Coastguard Worker            (method methodID "The method.")
1371*e82f7db8SAndroid Build Coastguard Worker        )
1372*e82f7db8SAndroid Build Coastguard Worker        (Reply
1373*e82f7db8SAndroid Build Coastguard Worker            (int argCnt "The number of words in the frame used by arguments. "
1374*e82f7db8SAndroid Build Coastguard Worker                        "Eight-byte arguments use two words; all others use one. ")
1375*e82f7db8SAndroid Build Coastguard Worker            (Repeat slots "The number of variables."
1376*e82f7db8SAndroid Build Coastguard Worker                (Group SlotInfo "Information about the variable."
1377*e82f7db8SAndroid Build Coastguard Worker                    (long codeIndex
1378*e82f7db8SAndroid Build Coastguard Worker                        "First code index at which the variable is visible (unsigned). "
1379*e82f7db8SAndroid Build Coastguard Worker                        "Used in conjunction with <code>length</code>. "
1380*e82f7db8SAndroid Build Coastguard Worker                        "The variable can be get or set only when the current "
1381*e82f7db8SAndroid Build Coastguard Worker                        "<code>codeIndex</code> <= current frame code index < <code>codeIndex + length</code> ")
1382*e82f7db8SAndroid Build Coastguard Worker                    (string name "The variable's name.")
1383*e82f7db8SAndroid Build Coastguard Worker                    (string signature "The variable type's JNI signature.")
1384*e82f7db8SAndroid Build Coastguard Worker                    (int length
1385*e82f7db8SAndroid Build Coastguard Worker                        "Unsigned value used in conjunction with <code>codeIndex</code>. "
1386*e82f7db8SAndroid Build Coastguard Worker                        "The variable can be get or set only when the current "
1387*e82f7db8SAndroid Build Coastguard Worker                        "<code>codeIndex</code> <= current frame code index < <code>code index + length</code> ")
1388*e82f7db8SAndroid Build Coastguard Worker                    (int slot "The local variable's index in its frame")
1389*e82f7db8SAndroid Build Coastguard Worker                )
1390*e82f7db8SAndroid Build Coastguard Worker            )
1391*e82f7db8SAndroid Build Coastguard Worker        )
1392*e82f7db8SAndroid Build Coastguard Worker        (ErrorSet
1393*e82f7db8SAndroid Build Coastguard Worker            (Error INVALID_CLASS     "refType is not the ID of a reference "
1394*e82f7db8SAndroid Build Coastguard Worker                                     "type.")
1395*e82f7db8SAndroid Build Coastguard Worker            (Error INVALID_OBJECT    "refType is not a known ID.")
1396*e82f7db8SAndroid Build Coastguard Worker            (Error INVALID_METHODID  "methodID is not the ID of a method.")
1397*e82f7db8SAndroid Build Coastguard Worker            (Error ABSENT_INFORMATION "there is no variable information for the method.")
1398*e82f7db8SAndroid Build Coastguard Worker            (Error VM_DEAD)
1399*e82f7db8SAndroid Build Coastguard Worker        )
1400*e82f7db8SAndroid Build Coastguard Worker    )
1401*e82f7db8SAndroid Build Coastguard Worker    (Command Bytecodes=3
1402*e82f7db8SAndroid Build Coastguard Worker        "Retrieve the method's bytecodes as defined in "
1403*e82f7db8SAndroid Build Coastguard Worker        "<cite>The Java&trade; Virtual Machine Specification</cite>. "
1404*e82f7db8SAndroid Build Coastguard Worker        "Requires canGetBytecodes capability - see "
1405*e82f7db8SAndroid Build Coastguard Worker        "<a href=\"#JDWP_VirtualMachine_CapabilitiesNew\">CapabilitiesNew</a>."
1406*e82f7db8SAndroid Build Coastguard Worker        (Out
1407*e82f7db8SAndroid Build Coastguard Worker            (referenceType refType "The class.")
1408*e82f7db8SAndroid Build Coastguard Worker            (method methodID "The method.")
1409*e82f7db8SAndroid Build Coastguard Worker        )
1410*e82f7db8SAndroid Build Coastguard Worker        (Reply
1411*e82f7db8SAndroid Build Coastguard Worker            (Repeat bytes
1412*e82f7db8SAndroid Build Coastguard Worker                (byte bytecode "A Java bytecode.")
1413*e82f7db8SAndroid Build Coastguard Worker            )
1414*e82f7db8SAndroid Build Coastguard Worker        )
1415*e82f7db8SAndroid Build Coastguard Worker        (ErrorSet
1416*e82f7db8SAndroid Build Coastguard Worker            (Error INVALID_CLASS     "refType is not the ID of a reference "
1417*e82f7db8SAndroid Build Coastguard Worker                                     "type.")
1418*e82f7db8SAndroid Build Coastguard Worker            (Error INVALID_OBJECT    "refType is not a known ID.")
1419*e82f7db8SAndroid Build Coastguard Worker            (Error INVALID_METHODID  "methodID is not the ID of a method.")
1420*e82f7db8SAndroid Build Coastguard Worker            (Error NOT_IMPLEMENTED   "If the target virtual machine does not "
1421*e82f7db8SAndroid Build Coastguard Worker                                     "support the retrieval of bytecodes.")
1422*e82f7db8SAndroid Build Coastguard Worker            (Error VM_DEAD)
1423*e82f7db8SAndroid Build Coastguard Worker        )
1424*e82f7db8SAndroid Build Coastguard Worker    )
1425*e82f7db8SAndroid Build Coastguard Worker    (Command IsObsolete=4
1426*e82f7db8SAndroid Build Coastguard Worker        "Determine if this method is obsolete. A method is obsolete if it has been replaced "
1427*e82f7db8SAndroid Build Coastguard Worker        "by a non-equivalent method using the "
1428*e82f7db8SAndroid Build Coastguard Worker        "<a href=\"#JDWP_VirtualMachine_RedefineClasses\">RedefineClasses</a> command. "
1429*e82f7db8SAndroid Build Coastguard Worker        "The original and redefined methods are considered equivalent if their bytecodes are "
1430*e82f7db8SAndroid Build Coastguard Worker        "the same except for indices into the constant pool and the referenced constants are "
1431*e82f7db8SAndroid Build Coastguard Worker        "equal."
1432*e82f7db8SAndroid Build Coastguard Worker        (Out
1433*e82f7db8SAndroid Build Coastguard Worker            (referenceType refType "The class.")
1434*e82f7db8SAndroid Build Coastguard Worker            (method methodID "The method.")
1435*e82f7db8SAndroid Build Coastguard Worker        )
1436*e82f7db8SAndroid Build Coastguard Worker        (Reply
1437*e82f7db8SAndroid Build Coastguard Worker            (boolean isObsolete    "true if this method has been replaced"
1438*e82f7db8SAndroid Build Coastguard Worker                                   "by a non-equivalent method using"
1439*e82f7db8SAndroid Build Coastguard Worker                                   "the RedefineClasses command.")
1440*e82f7db8SAndroid Build Coastguard Worker        )
1441*e82f7db8SAndroid Build Coastguard Worker        (ErrorSet
1442*e82f7db8SAndroid Build Coastguard Worker            (Error INVALID_CLASS     "refType is not the ID of a reference "
1443*e82f7db8SAndroid Build Coastguard Worker                                     "type.")
1444*e82f7db8SAndroid Build Coastguard Worker            (Error INVALID_OBJECT    "refType is not a known ID.")
1445*e82f7db8SAndroid Build Coastguard Worker            (Error INVALID_METHODID  "methodID is not the ID of a method.")
1446*e82f7db8SAndroid Build Coastguard Worker            (Error NOT_IMPLEMENTED   "If the target virtual machine does "
1447*e82f7db8SAndroid Build Coastguard Worker                                     "not support this query.")
1448*e82f7db8SAndroid Build Coastguard Worker            (Error VM_DEAD)
1449*e82f7db8SAndroid Build Coastguard Worker        )
1450*e82f7db8SAndroid Build Coastguard Worker    )
1451*e82f7db8SAndroid Build Coastguard Worker    (Command VariableTableWithGeneric=5
1452*e82f7db8SAndroid Build Coastguard Worker        "Returns variable information for the method, including "
1453*e82f7db8SAndroid Build Coastguard Worker        "generic signatures for the variables. The variable table "
1454*e82f7db8SAndroid Build Coastguard Worker        "includes arguments and locals declared within the method. For "
1455*e82f7db8SAndroid Build Coastguard Worker        "instance methods, the \"this\" reference is included in the "
1456*e82f7db8SAndroid Build Coastguard Worker        "table. Also, synthetic variables may be present. "
1457*e82f7db8SAndroid Build Coastguard Worker        "Generic signatures are described in the signature attribute "
1458*e82f7db8SAndroid Build Coastguard Worker        "section in "
1459*e82f7db8SAndroid Build Coastguard Worker        "<cite>The Java&trade; Virtual Machine Specification</cite>. "
1460*e82f7db8SAndroid Build Coastguard Worker        "Since JDWP version 1.5."
1461*e82f7db8SAndroid Build Coastguard Worker        (Out
1462*e82f7db8SAndroid Build Coastguard Worker            (referenceType refType "The class.")
1463*e82f7db8SAndroid Build Coastguard Worker            (method methodID "The method.")
1464*e82f7db8SAndroid Build Coastguard Worker        )
1465*e82f7db8SAndroid Build Coastguard Worker        (Reply
1466*e82f7db8SAndroid Build Coastguard Worker            (int argCnt "The number of words in the frame used by arguments. "
1467*e82f7db8SAndroid Build Coastguard Worker                        "Eight-byte arguments use two words; all others use one. ")
1468*e82f7db8SAndroid Build Coastguard Worker            (Repeat slots "The number of variables."
1469*e82f7db8SAndroid Build Coastguard Worker                (Group SlotInfo "Information about the variable."
1470*e82f7db8SAndroid Build Coastguard Worker                    (long codeIndex
1471*e82f7db8SAndroid Build Coastguard Worker                        "First code index at which the variable is visible (unsigned). "
1472*e82f7db8SAndroid Build Coastguard Worker                        "Used in conjunction with <code>length</code>. "
1473*e82f7db8SAndroid Build Coastguard Worker                        "The variable can be get or set only when the current "
1474*e82f7db8SAndroid Build Coastguard Worker                        "<code>codeIndex</code> <= current frame code index < <code>codeIndex + length</code> ")
1475*e82f7db8SAndroid Build Coastguard Worker                    (string name "The variable's name.")
1476*e82f7db8SAndroid Build Coastguard Worker                    (string signature "The variable type's JNI signature.")
1477*e82f7db8SAndroid Build Coastguard Worker                    (string genericSignature "The variable type's generic "
1478*e82f7db8SAndroid Build Coastguard Worker                         "signature or an empty string if there is none.")
1479*e82f7db8SAndroid Build Coastguard Worker                    (int length
1480*e82f7db8SAndroid Build Coastguard Worker                        "Unsigned value used in conjunction with <code>codeIndex</code>. "
1481*e82f7db8SAndroid Build Coastguard Worker                        "The variable can be get or set only when the current "
1482*e82f7db8SAndroid Build Coastguard Worker                        "<code>codeIndex</code> <= current frame code index < <code>code index + length</code> ")
1483*e82f7db8SAndroid Build Coastguard Worker                    (int slot "The local variable's index in its frame")
1484*e82f7db8SAndroid Build Coastguard Worker                )
1485*e82f7db8SAndroid Build Coastguard Worker            )
1486*e82f7db8SAndroid Build Coastguard Worker        )
1487*e82f7db8SAndroid Build Coastguard Worker        (ErrorSet
1488*e82f7db8SAndroid Build Coastguard Worker            (Error INVALID_CLASS     "refType is not the ID of a reference "
1489*e82f7db8SAndroid Build Coastguard Worker                                     "type.")
1490*e82f7db8SAndroid Build Coastguard Worker            (Error INVALID_OBJECT    "refType is not a known ID.")
1491*e82f7db8SAndroid Build Coastguard Worker            (Error INVALID_METHODID  "methodID is not the ID of a method.")
1492*e82f7db8SAndroid Build Coastguard Worker            (Error ABSENT_INFORMATION "there is no variable information for the method.")
1493*e82f7db8SAndroid Build Coastguard Worker            (Error VM_DEAD)
1494*e82f7db8SAndroid Build Coastguard Worker        )
1495*e82f7db8SAndroid Build Coastguard Worker    )
1496*e82f7db8SAndroid Build Coastguard Worker
1497*e82f7db8SAndroid Build Coastguard Worker)
1498*e82f7db8SAndroid Build Coastguard Worker(CommandSet Field=8
1499*e82f7db8SAndroid Build Coastguard Worker)
1500*e82f7db8SAndroid Build Coastguard Worker(CommandSet ObjectReference=9
1501*e82f7db8SAndroid Build Coastguard Worker    (Command ReferenceType=1
1502*e82f7db8SAndroid Build Coastguard Worker        "Returns the runtime type of the object. "
1503*e82f7db8SAndroid Build Coastguard Worker        "The runtime type will be a class or an array. "
1504*e82f7db8SAndroid Build Coastguard Worker        (Out
1505*e82f7db8SAndroid Build Coastguard Worker            (object object "The object ID")
1506*e82f7db8SAndroid Build Coastguard Worker        )
1507*e82f7db8SAndroid Build Coastguard Worker        (Reply
1508*e82f7db8SAndroid Build Coastguard Worker            (byte refTypeTag  "<a href=\"#JDWP_TypeTag\">Kind</a> "
1509*e82f7db8SAndroid Build Coastguard Worker                              "of following reference type. ")
1510*e82f7db8SAndroid Build Coastguard Worker            (referenceTypeID typeID "The runtime reference type.")
1511*e82f7db8SAndroid Build Coastguard Worker        )
1512*e82f7db8SAndroid Build Coastguard Worker        (ErrorSet
1513*e82f7db8SAndroid Build Coastguard Worker            (Error INVALID_OBJECT)
1514*e82f7db8SAndroid Build Coastguard Worker            (Error VM_DEAD)
1515*e82f7db8SAndroid Build Coastguard Worker        )
1516*e82f7db8SAndroid Build Coastguard Worker    )
1517*e82f7db8SAndroid Build Coastguard Worker    (Command GetValues=2
1518*e82f7db8SAndroid Build Coastguard Worker        "Returns the value of one or more instance fields. "
1519*e82f7db8SAndroid Build Coastguard Worker        "Each field must be member of the object's type "
1520*e82f7db8SAndroid Build Coastguard Worker        "or one of its superclasses, superinterfaces, or implemented interfaces. "
1521*e82f7db8SAndroid Build Coastguard Worker        "Access control is not enforced; for example, the values of private "
1522*e82f7db8SAndroid Build Coastguard Worker        "fields can be obtained."
1523*e82f7db8SAndroid Build Coastguard Worker        (Out
1524*e82f7db8SAndroid Build Coastguard Worker            (object object "The object ID")
1525*e82f7db8SAndroid Build Coastguard Worker            (Repeat fields "The number of values to get"
1526*e82f7db8SAndroid Build Coastguard Worker                (Group Field
1527*e82f7db8SAndroid Build Coastguard Worker                    (field fieldID "Field to get.")
1528*e82f7db8SAndroid Build Coastguard Worker                )
1529*e82f7db8SAndroid Build Coastguard Worker            )
1530*e82f7db8SAndroid Build Coastguard Worker        )
1531*e82f7db8SAndroid Build Coastguard Worker        (Reply
1532*e82f7db8SAndroid Build Coastguard Worker            (Repeat values "The number of values returned, always equal to 'fields', "
1533*e82f7db8SAndroid Build Coastguard Worker                           "the number of values to get. Field values are ordered "
1534*e82f7db8SAndroid Build Coastguard Worker                           "in the reply in the same order as corresponding fieldIDs "
1535*e82f7db8SAndroid Build Coastguard Worker                           "in the command."
1536*e82f7db8SAndroid Build Coastguard Worker                (value value "The field value")
1537*e82f7db8SAndroid Build Coastguard Worker            )
1538*e82f7db8SAndroid Build Coastguard Worker        )
1539*e82f7db8SAndroid Build Coastguard Worker        (ErrorSet
1540*e82f7db8SAndroid Build Coastguard Worker            (Error INVALID_OBJECT)
1541*e82f7db8SAndroid Build Coastguard Worker            (Error INVALID_FIELDID)
1542*e82f7db8SAndroid Build Coastguard Worker            (Error VM_DEAD)
1543*e82f7db8SAndroid Build Coastguard Worker        )
1544*e82f7db8SAndroid Build Coastguard Worker    )
1545*e82f7db8SAndroid Build Coastguard Worker    (Command SetValues=3
1546*e82f7db8SAndroid Build Coastguard Worker        "Sets the value of one or more instance fields. "
1547*e82f7db8SAndroid Build Coastguard Worker        "Each field must be member of the object's type "
1548*e82f7db8SAndroid Build Coastguard Worker        "or one of its superclasses, superinterfaces, or implemented interfaces. "
1549*e82f7db8SAndroid Build Coastguard Worker        "Access control is not enforced; for example, the values of private "
1550*e82f7db8SAndroid Build Coastguard Worker        "fields can be set. "
1551*e82f7db8SAndroid Build Coastguard Worker        "For primitive values, the value's type must match the "
1552*e82f7db8SAndroid Build Coastguard Worker        "field's type exactly. For object values, there must be a "
1553*e82f7db8SAndroid Build Coastguard Worker        "widening reference conversion from the value's type to the
1554*e82f7db8SAndroid Build Coastguard Worker        "field's type and the field's type must be loaded. "
1555*e82f7db8SAndroid Build Coastguard Worker        (Out
1556*e82f7db8SAndroid Build Coastguard Worker            (object object "The object ID")
1557*e82f7db8SAndroid Build Coastguard Worker            (Repeat values "The number of fields to set."
1558*e82f7db8SAndroid Build Coastguard Worker                (Group FieldValue "A Field/Value pair."
1559*e82f7db8SAndroid Build Coastguard Worker                    (field fieldID "Field to set.")
1560*e82f7db8SAndroid Build Coastguard Worker                    (untagged-value value "Value to put in the field.")
1561*e82f7db8SAndroid Build Coastguard Worker                )
1562*e82f7db8SAndroid Build Coastguard Worker            )
1563*e82f7db8SAndroid Build Coastguard Worker        )
1564*e82f7db8SAndroid Build Coastguard Worker        (Reply "none"
1565*e82f7db8SAndroid Build Coastguard Worker        )
1566*e82f7db8SAndroid Build Coastguard Worker        (ErrorSet
1567*e82f7db8SAndroid Build Coastguard Worker            (Error INVALID_OBJECT)
1568*e82f7db8SAndroid Build Coastguard Worker            (Error INVALID_FIELDID)
1569*e82f7db8SAndroid Build Coastguard Worker            (Error VM_DEAD)
1570*e82f7db8SAndroid Build Coastguard Worker        )
1571*e82f7db8SAndroid Build Coastguard Worker    )
1572*e82f7db8SAndroid Build Coastguard Worker    (Command MonitorInfo=5
1573*e82f7db8SAndroid Build Coastguard Worker        "Returns monitor information for an object. All threads int the VM must "
1574*e82f7db8SAndroid Build Coastguard Worker        "be suspended."
1575*e82f7db8SAndroid Build Coastguard Worker        "Requires canGetMonitorInfo capability - see "
1576*e82f7db8SAndroid Build Coastguard Worker        "<a href=\"#JDWP_VirtualMachine_CapabilitiesNew\">CapabilitiesNew</a>."
1577*e82f7db8SAndroid Build Coastguard Worker        (Out
1578*e82f7db8SAndroid Build Coastguard Worker            (object object "The object ID")
1579*e82f7db8SAndroid Build Coastguard Worker        )
1580*e82f7db8SAndroid Build Coastguard Worker        (Reply
1581*e82f7db8SAndroid Build Coastguard Worker            (threadObject owner "The monitor owner, or null if it is not currently owned.")
1582*e82f7db8SAndroid Build Coastguard Worker            (int entryCount "The number of times the monitor has been entered.")
1583*e82f7db8SAndroid Build Coastguard Worker            (Repeat waiters "The number of threads that are waiting for the monitor "
1584*e82f7db8SAndroid Build Coastguard Worker                            "0 if there is no current owner"
1585*e82f7db8SAndroid Build Coastguard Worker                (threadObject thread "A thread waiting for this monitor.")
1586*e82f7db8SAndroid Build Coastguard Worker            )
1587*e82f7db8SAndroid Build Coastguard Worker        )
1588*e82f7db8SAndroid Build Coastguard Worker        (ErrorSet
1589*e82f7db8SAndroid Build Coastguard Worker            (Error INVALID_OBJECT)
1590*e82f7db8SAndroid Build Coastguard Worker            (Error NOT_IMPLEMENTED)
1591*e82f7db8SAndroid Build Coastguard Worker            (Error VM_DEAD)
1592*e82f7db8SAndroid Build Coastguard Worker        )
1593*e82f7db8SAndroid Build Coastguard Worker    )
1594*e82f7db8SAndroid Build Coastguard Worker    (Command InvokeMethod=6
1595*e82f7db8SAndroid Build Coastguard Worker        "Invokes a instance method. "
1596*e82f7db8SAndroid Build Coastguard Worker        "The method must be member of the object's type "
1597*e82f7db8SAndroid Build Coastguard Worker        "or one of its superclasses, superinterfaces, or implemented interfaces. "
1598*e82f7db8SAndroid Build Coastguard Worker        "Access control is not enforced; for example, private "
1599*e82f7db8SAndroid Build Coastguard Worker        "methods can be invoked."
1600*e82f7db8SAndroid Build Coastguard Worker        "<p>"
1601*e82f7db8SAndroid Build Coastguard Worker        "The method invocation will occur in the specified thread. "
1602*e82f7db8SAndroid Build Coastguard Worker        "Method invocation can occur only if the specified thread "
1603*e82f7db8SAndroid Build Coastguard Worker        "has been suspended by an event. "
1604*e82f7db8SAndroid Build Coastguard Worker        "Method invocation is not supported "
1605*e82f7db8SAndroid Build Coastguard Worker        "when the target VM has been suspended by the front-end. "
1606*e82f7db8SAndroid Build Coastguard Worker        "<p>"
1607*e82f7db8SAndroid Build Coastguard Worker        "The specified method is invoked with the arguments in the specified "
1608*e82f7db8SAndroid Build Coastguard Worker        "argument list. "
1609*e82f7db8SAndroid Build Coastguard Worker        "The method invocation is synchronous; the reply packet is not "
1610*e82f7db8SAndroid Build Coastguard Worker        "sent until the invoked method returns in the target VM. "
1611*e82f7db8SAndroid Build Coastguard Worker        "The return value (possibly the void value) is "
1612*e82f7db8SAndroid Build Coastguard Worker        "included in the reply packet. "
1613*e82f7db8SAndroid Build Coastguard Worker        "If the invoked method throws an exception, the "
1614*e82f7db8SAndroid Build Coastguard Worker        "exception object ID is set in the reply packet; otherwise, the "
1615*e82f7db8SAndroid Build Coastguard Worker        "exception object ID is null. "
1616*e82f7db8SAndroid Build Coastguard Worker        "<p>"
1617*e82f7db8SAndroid Build Coastguard Worker        "For primitive arguments, the argument value's type must match the "
1618*e82f7db8SAndroid Build Coastguard Worker        "argument's type exactly. For object arguments, there must be a "
1619*e82f7db8SAndroid Build Coastguard Worker        "widening reference conversion from the argument value's type to the "
1620*e82f7db8SAndroid Build Coastguard Worker        "argument's type and the argument's type must be loaded. "
1621*e82f7db8SAndroid Build Coastguard Worker        "<p>"
1622*e82f7db8SAndroid Build Coastguard Worker        "By default, all threads in the target VM are resumed while "
1623*e82f7db8SAndroid Build Coastguard Worker        "the method is being invoked if they were previously "
1624*e82f7db8SAndroid Build Coastguard Worker        "suspended by an event or by a command. "
1625*e82f7db8SAndroid Build Coastguard Worker        "This is done to prevent the deadlocks "
1626*e82f7db8SAndroid Build Coastguard Worker        "that will occur if any of the threads own monitors "
1627*e82f7db8SAndroid Build Coastguard Worker        "that will be needed by the invoked method. It is possible that "
1628*e82f7db8SAndroid Build Coastguard Worker        "breakpoints or other events might occur during the invocation. "
1629*e82f7db8SAndroid Build Coastguard Worker        "Note, however, that this implicit resume acts exactly like "
1630*e82f7db8SAndroid Build Coastguard Worker        "the ThreadReference resume command, so if the thread's suspend "
1631*e82f7db8SAndroid Build Coastguard Worker        "count is greater than 1, it will remain in a suspended state "
1632*e82f7db8SAndroid Build Coastguard Worker        "during the invocation. By default, when the invocation completes, "
1633*e82f7db8SAndroid Build Coastguard Worker        "all threads in the target VM are suspended, regardless their state "
1634*e82f7db8SAndroid Build Coastguard Worker        "before the invocation. "
1635*e82f7db8SAndroid Build Coastguard Worker        "<p>"
1636*e82f7db8SAndroid Build Coastguard Worker        "The resumption of other threads during the invoke can be prevented "
1637*e82f7db8SAndroid Build Coastguard Worker        "by specifying the INVOKE_SINGLE_THREADED "
1638*e82f7db8SAndroid Build Coastguard Worker        "bit flag in the <code>options</code> field; however, "
1639*e82f7db8SAndroid Build Coastguard Worker        "there is no protection against or recovery from the deadlocks "
1640*e82f7db8SAndroid Build Coastguard Worker        "described above, so this option should be used with great caution. "
1641*e82f7db8SAndroid Build Coastguard Worker        "Only the specified thread will be resumed (as described for all "
1642*e82f7db8SAndroid Build Coastguard Worker        "threads above). Upon completion of a single threaded invoke, the invoking thread "
1643*e82f7db8SAndroid Build Coastguard Worker        "will be suspended once again. Note that any threads started during "
1644*e82f7db8SAndroid Build Coastguard Worker        "the single threaded invocation will not be suspended when the "
1645*e82f7db8SAndroid Build Coastguard Worker        "invocation completes. "
1646*e82f7db8SAndroid Build Coastguard Worker        "<p>"
1647*e82f7db8SAndroid Build Coastguard Worker        "If the target VM is disconnected during the invoke (for example, through "
1648*e82f7db8SAndroid Build Coastguard Worker        "the VirtualMachine dispose command) the method invocation continues. "
1649*e82f7db8SAndroid Build Coastguard Worker        (Out
1650*e82f7db8SAndroid Build Coastguard Worker            (object object "The object ID")
1651*e82f7db8SAndroid Build Coastguard Worker            (threadObject thread "The thread in which to invoke.")
1652*e82f7db8SAndroid Build Coastguard Worker            (classType clazz "The class type.")
1653*e82f7db8SAndroid Build Coastguard Worker            (method methodID "The method to invoke.")
1654*e82f7db8SAndroid Build Coastguard Worker            (Repeat arguments "The number of arguments."
1655*e82f7db8SAndroid Build Coastguard Worker                (value arg "The argument value.")
1656*e82f7db8SAndroid Build Coastguard Worker            )
1657*e82f7db8SAndroid Build Coastguard Worker            (int options "Invocation <a href=\"#JDWP_InvokeOptions\">options</a>")
1658*e82f7db8SAndroid Build Coastguard Worker        )
1659*e82f7db8SAndroid Build Coastguard Worker        (Reply
1660*e82f7db8SAndroid Build Coastguard Worker            (value returnValue "The returned value, or null if an exception is thrown.")
1661*e82f7db8SAndroid Build Coastguard Worker            (tagged-object exception "The thrown exception, if any.")
1662*e82f7db8SAndroid Build Coastguard Worker        )
1663*e82f7db8SAndroid Build Coastguard Worker        (ErrorSet
1664*e82f7db8SAndroid Build Coastguard Worker            (Error INVALID_OBJECT)
1665*e82f7db8SAndroid Build Coastguard Worker            (Error INVALID_CLASS     "clazz is not the ID of a reference "
1666*e82f7db8SAndroid Build Coastguard Worker                                     "type.")
1667*e82f7db8SAndroid Build Coastguard Worker            (Error INVALID_METHODID  "methodID is not the ID of an instance method "
1668*e82f7db8SAndroid Build Coastguard Worker                                     "in this object's type or one of its superclasses, "
1669*e82f7db8SAndroid Build Coastguard Worker                                     "superinterfaces, or implemented interfaces.")
1670*e82f7db8SAndroid Build Coastguard Worker            (Error INVALID_THREAD)
1671*e82f7db8SAndroid Build Coastguard Worker            (Error THREAD_NOT_SUSPENDED)
1672*e82f7db8SAndroid Build Coastguard Worker            (Error VM_DEAD)
1673*e82f7db8SAndroid Build Coastguard Worker        )
1674*e82f7db8SAndroid Build Coastguard Worker    )
1675*e82f7db8SAndroid Build Coastguard Worker    (Command DisableCollection=7
1676*e82f7db8SAndroid Build Coastguard Worker        "Prevents garbage collection for the given object. By "
1677*e82f7db8SAndroid Build Coastguard Worker        "default all objects in back-end replies may be "
1678*e82f7db8SAndroid Build Coastguard Worker        "collected at any time the target VM is running. A call to "
1679*e82f7db8SAndroid Build Coastguard Worker        "this command guarantees that the object will not be "
1680*e82f7db8SAndroid Build Coastguard Worker        "collected. The "
1681*e82f7db8SAndroid Build Coastguard Worker        "<a href=\"#JDWP_ObjectReference_EnableCollection\">EnableCollection</a> "
1682*e82f7db8SAndroid Build Coastguard Worker        "command can be used to "
1683*e82f7db8SAndroid Build Coastguard Worker        "allow collection once again. "
1684*e82f7db8SAndroid Build Coastguard Worker        "<p>"
1685*e82f7db8SAndroid Build Coastguard Worker        "Note that while the target VM is suspended, no garbage "
1686*e82f7db8SAndroid Build Coastguard Worker        "collection will occur because all threads are suspended. "
1687*e82f7db8SAndroid Build Coastguard Worker        "The typical examination of variables, fields, and arrays "
1688*e82f7db8SAndroid Build Coastguard Worker        "during the suspension is safe without explicitly disabling "
1689*e82f7db8SAndroid Build Coastguard Worker        "garbage collection. "
1690*e82f7db8SAndroid Build Coastguard Worker        "<p>"
1691*e82f7db8SAndroid Build Coastguard Worker        "This method should be used sparingly, as it alters the "
1692*e82f7db8SAndroid Build Coastguard Worker        "pattern of garbage collection in the target VM and, "
1693*e82f7db8SAndroid Build Coastguard Worker        "consequently, may result in application behavior under the "
1694*e82f7db8SAndroid Build Coastguard Worker        "debugger that differs from its non-debugged behavior. "
1695*e82f7db8SAndroid Build Coastguard Worker        (Out
1696*e82f7db8SAndroid Build Coastguard Worker            (object object "The object ID")
1697*e82f7db8SAndroid Build Coastguard Worker        )
1698*e82f7db8SAndroid Build Coastguard Worker        (Reply "none"
1699*e82f7db8SAndroid Build Coastguard Worker        )
1700*e82f7db8SAndroid Build Coastguard Worker        (ErrorSet
1701*e82f7db8SAndroid Build Coastguard Worker            (Error INVALID_OBJECT)
1702*e82f7db8SAndroid Build Coastguard Worker            (Error VM_DEAD)
1703*e82f7db8SAndroid Build Coastguard Worker        )
1704*e82f7db8SAndroid Build Coastguard Worker    )
1705*e82f7db8SAndroid Build Coastguard Worker    (Command EnableCollection=8
1706*e82f7db8SAndroid Build Coastguard Worker        "Permits garbage collection for this object. By default all "
1707*e82f7db8SAndroid Build Coastguard Worker        "objects returned by JDWP may become unreachable in the target VM, "
1708*e82f7db8SAndroid Build Coastguard Worker        "and hence may be garbage collected. A call to this command is "
1709*e82f7db8SAndroid Build Coastguard Worker        "necessary only if garbage collection was previously disabled with "
1710*e82f7db8SAndroid Build Coastguard Worker        "the <a href=\"#JDWP_ObjectReference_DisableCollection\">DisableCollection</a> "
1711*e82f7db8SAndroid Build Coastguard Worker        "command."
1712*e82f7db8SAndroid Build Coastguard Worker        (Out
1713*e82f7db8SAndroid Build Coastguard Worker            (object object "The object ID")
1714*e82f7db8SAndroid Build Coastguard Worker        )
1715*e82f7db8SAndroid Build Coastguard Worker        (Reply "none"
1716*e82f7db8SAndroid Build Coastguard Worker        )
1717*e82f7db8SAndroid Build Coastguard Worker        (ErrorSet
1718*e82f7db8SAndroid Build Coastguard Worker            (Error VM_DEAD)
1719*e82f7db8SAndroid Build Coastguard Worker        )
1720*e82f7db8SAndroid Build Coastguard Worker    )
1721*e82f7db8SAndroid Build Coastguard Worker    (Command IsCollected=9
1722*e82f7db8SAndroid Build Coastguard Worker        "Determines whether an object has been garbage collected in the "
1723*e82f7db8SAndroid Build Coastguard Worker        "target VM. "
1724*e82f7db8SAndroid Build Coastguard Worker        (Out
1725*e82f7db8SAndroid Build Coastguard Worker            (object object "The object ID")
1726*e82f7db8SAndroid Build Coastguard Worker        )
1727*e82f7db8SAndroid Build Coastguard Worker        (Reply
1728*e82f7db8SAndroid Build Coastguard Worker            (boolean isCollected "true if the object has been collected; false otherwise")
1729*e82f7db8SAndroid Build Coastguard Worker        )
1730*e82f7db8SAndroid Build Coastguard Worker        (ErrorSet
1731*e82f7db8SAndroid Build Coastguard Worker            (Error INVALID_OBJECT)
1732*e82f7db8SAndroid Build Coastguard Worker            (Error VM_DEAD)
1733*e82f7db8SAndroid Build Coastguard Worker        )
1734*e82f7db8SAndroid Build Coastguard Worker    )
1735*e82f7db8SAndroid Build Coastguard Worker    (Command ReferringObjects=10
1736*e82f7db8SAndroid Build Coastguard Worker        "Returns objects that directly reference this object.  "
1737*e82f7db8SAndroid Build Coastguard Worker        "Only objects that are reachable for the purposes "
1738*e82f7db8SAndroid Build Coastguard Worker        "of garbage collection are returned. "
1739*e82f7db8SAndroid Build Coastguard Worker        "Note that an object can also be referenced in other ways, "
1740*e82f7db8SAndroid Build Coastguard Worker        "such as from a local variable in a stack frame, or from a JNI global "
1741*e82f7db8SAndroid Build Coastguard Worker        "reference.  Such non-object referrers are not returned by this command. "
1742*e82f7db8SAndroid Build Coastguard Worker        "<p>Since JDWP version 1.6. Requires canGetInstanceInfo capability - see "
1743*e82f7db8SAndroid Build Coastguard Worker        "<a href=\"#JDWP_VirtualMachine_CapabilitiesNew\">CapabilitiesNew</a>."
1744*e82f7db8SAndroid Build Coastguard Worker        (Out
1745*e82f7db8SAndroid Build Coastguard Worker            (object object "The object ID")
1746*e82f7db8SAndroid Build Coastguard Worker            (int maxReferrers "Maximum number of referring objects to return. "
1747*e82f7db8SAndroid Build Coastguard Worker                              "Must be non-negative. If zero, all referring "
1748*e82f7db8SAndroid Build Coastguard Worker                              "objects are returned.")
1749*e82f7db8SAndroid Build Coastguard Worker        )
1750*e82f7db8SAndroid Build Coastguard Worker        (Reply
1751*e82f7db8SAndroid Build Coastguard Worker            (Repeat referringObjects "The number of objects that follow."
1752*e82f7db8SAndroid Build Coastguard Worker                (tagged-object instance "An object that references this object.")
1753*e82f7db8SAndroid Build Coastguard Worker             )
1754*e82f7db8SAndroid Build Coastguard Worker        )
1755*e82f7db8SAndroid Build Coastguard Worker        (ErrorSet
1756*e82f7db8SAndroid Build Coastguard Worker            (Error INVALID_OBJECT    "object is not a known ID.")
1757*e82f7db8SAndroid Build Coastguard Worker            (Error ILLEGAL_ARGUMENT  "maxReferrers is less than zero.")
1758*e82f7db8SAndroid Build Coastguard Worker            (Error NOT_IMPLEMENTED)
1759*e82f7db8SAndroid Build Coastguard Worker            (Error VM_DEAD)
1760*e82f7db8SAndroid Build Coastguard Worker        )
1761*e82f7db8SAndroid Build Coastguard Worker    )
1762*e82f7db8SAndroid Build Coastguard Worker)
1763*e82f7db8SAndroid Build Coastguard Worker
1764*e82f7db8SAndroid Build Coastguard Worker(CommandSet StringReference=10
1765*e82f7db8SAndroid Build Coastguard Worker    (Command Value=1
1766*e82f7db8SAndroid Build Coastguard Worker        "Returns the characters contained in the string. "
1767*e82f7db8SAndroid Build Coastguard Worker        (Out
1768*e82f7db8SAndroid Build Coastguard Worker            (object stringObject "The String object ID. ")
1769*e82f7db8SAndroid Build Coastguard Worker        )
1770*e82f7db8SAndroid Build Coastguard Worker        (Reply
1771*e82f7db8SAndroid Build Coastguard Worker            (string stringValue "UTF-8 representation of the string value.")
1772*e82f7db8SAndroid Build Coastguard Worker       )
1773*e82f7db8SAndroid Build Coastguard Worker        (ErrorSet
1774*e82f7db8SAndroid Build Coastguard Worker            (Error INVALID_STRING)
1775*e82f7db8SAndroid Build Coastguard Worker            (Error INVALID_OBJECT)
1776*e82f7db8SAndroid Build Coastguard Worker            (Error VM_DEAD)
1777*e82f7db8SAndroid Build Coastguard Worker        )
1778*e82f7db8SAndroid Build Coastguard Worker    )
1779*e82f7db8SAndroid Build Coastguard Worker)
1780*e82f7db8SAndroid Build Coastguard Worker(CommandSet ThreadReference=11
1781*e82f7db8SAndroid Build Coastguard Worker    (Command Name=1
1782*e82f7db8SAndroid Build Coastguard Worker        "Returns the thread name. "
1783*e82f7db8SAndroid Build Coastguard Worker        (Out
1784*e82f7db8SAndroid Build Coastguard Worker            (threadObject thread "The thread object ID. ")
1785*e82f7db8SAndroid Build Coastguard Worker        )
1786*e82f7db8SAndroid Build Coastguard Worker        (Reply
1787*e82f7db8SAndroid Build Coastguard Worker            (string threadName "The thread name.")
1788*e82f7db8SAndroid Build Coastguard Worker        )
1789*e82f7db8SAndroid Build Coastguard Worker        (ErrorSet
1790*e82f7db8SAndroid Build Coastguard Worker            (Error INVALID_THREAD)
1791*e82f7db8SAndroid Build Coastguard Worker            (Error INVALID_OBJECT    "thread is not a known ID.")
1792*e82f7db8SAndroid Build Coastguard Worker            (Error VM_DEAD)
1793*e82f7db8SAndroid Build Coastguard Worker        )
1794*e82f7db8SAndroid Build Coastguard Worker    )
1795*e82f7db8SAndroid Build Coastguard Worker    (Command Suspend=2
1796*e82f7db8SAndroid Build Coastguard Worker        "Suspends the thread. "
1797*e82f7db8SAndroid Build Coastguard Worker        "<p>"
1798*e82f7db8SAndroid Build Coastguard Worker        "Unlike java.lang.Thread.suspend(), suspends of both "
1799*e82f7db8SAndroid Build Coastguard Worker        "the virtual machine and individual threads are counted. Before "
1800*e82f7db8SAndroid Build Coastguard Worker        "a thread will run again, it must be resumed the same number "
1801*e82f7db8SAndroid Build Coastguard Worker        "of times it has been suspended. "
1802*e82f7db8SAndroid Build Coastguard Worker        "<p>"
1803*e82f7db8SAndroid Build Coastguard Worker        "Suspending single threads with command has the same "
1804*e82f7db8SAndroid Build Coastguard Worker        "dangers java.lang.Thread.suspend(). If the suspended "
1805*e82f7db8SAndroid Build Coastguard Worker        "thread holds a monitor needed by another running thread, "
1806*e82f7db8SAndroid Build Coastguard Worker        "deadlock is possible in the target VM (at least until the "
1807*e82f7db8SAndroid Build Coastguard Worker        "suspended thread is resumed again). "
1808*e82f7db8SAndroid Build Coastguard Worker        "<p>"
1809*e82f7db8SAndroid Build Coastguard Worker        "The suspended thread is guaranteed to remain suspended until "
1810*e82f7db8SAndroid Build Coastguard Worker        "resumed through one of the JDI resume methods mentioned above; "
1811*e82f7db8SAndroid Build Coastguard Worker        "the application in the target VM cannot resume the suspended thread "
1812*e82f7db8SAndroid Build Coastguard Worker        "through {@link java.lang.Thread#resume}. "
1813*e82f7db8SAndroid Build Coastguard Worker        "<p>"
1814*e82f7db8SAndroid Build Coastguard Worker        "Note that this doesn't change the status of the thread (see the "
1815*e82f7db8SAndroid Build Coastguard Worker        "<a href=\"#JDWP_ThreadReference_Status\">ThreadStatus</a> command.) "
1816*e82f7db8SAndroid Build Coastguard Worker        "For example, if it was "
1817*e82f7db8SAndroid Build Coastguard Worker        "Running, it will still appear running to other threads. "
1818*e82f7db8SAndroid Build Coastguard Worker        (Out
1819*e82f7db8SAndroid Build Coastguard Worker            (threadObject thread "The thread object ID. ")
1820*e82f7db8SAndroid Build Coastguard Worker        )
1821*e82f7db8SAndroid Build Coastguard Worker        (Reply "none"
1822*e82f7db8SAndroid Build Coastguard Worker        )
1823*e82f7db8SAndroid Build Coastguard Worker        (ErrorSet
1824*e82f7db8SAndroid Build Coastguard Worker            (Error INVALID_THREAD)
1825*e82f7db8SAndroid Build Coastguard Worker            (Error INVALID_OBJECT    "thread is not a known ID.")
1826*e82f7db8SAndroid Build Coastguard Worker            (Error VM_DEAD)
1827*e82f7db8SAndroid Build Coastguard Worker        )
1828*e82f7db8SAndroid Build Coastguard Worker    )
1829*e82f7db8SAndroid Build Coastguard Worker    (Command Resume=3
1830*e82f7db8SAndroid Build Coastguard Worker        "Resumes the execution of a given thread. If this thread was "
1831*e82f7db8SAndroid Build Coastguard Worker        "not previously suspended by the front-end, "
1832*e82f7db8SAndroid Build Coastguard Worker        "calling this command has no effect. "
1833*e82f7db8SAndroid Build Coastguard Worker        "Otherwise, the count of pending suspends on this thread is "
1834*e82f7db8SAndroid Build Coastguard Worker        "decremented. If it is decremented to 0, the thread will "
1835*e82f7db8SAndroid Build Coastguard Worker        "continue to execute. "
1836*e82f7db8SAndroid Build Coastguard Worker        (Out
1837*e82f7db8SAndroid Build Coastguard Worker            (threadObject thread "The thread object ID. ")
1838*e82f7db8SAndroid Build Coastguard Worker        )
1839*e82f7db8SAndroid Build Coastguard Worker        (Reply "none"
1840*e82f7db8SAndroid Build Coastguard Worker        )
1841*e82f7db8SAndroid Build Coastguard Worker        (ErrorSet
1842*e82f7db8SAndroid Build Coastguard Worker            (Error INVALID_THREAD)
1843*e82f7db8SAndroid Build Coastguard Worker            (Error INVALID_OBJECT    "thread is not a known ID.")
1844*e82f7db8SAndroid Build Coastguard Worker            (Error VM_DEAD)
1845*e82f7db8SAndroid Build Coastguard Worker        )
1846*e82f7db8SAndroid Build Coastguard Worker    )
1847*e82f7db8SAndroid Build Coastguard Worker    (Command Status=4
1848*e82f7db8SAndroid Build Coastguard Worker        "Returns the current status of a thread. The thread status "
1849*e82f7db8SAndroid Build Coastguard Worker        "reply indicates the thread status the last time it was running. "
1850*e82f7db8SAndroid Build Coastguard Worker        "the suspend status provides information on the thread's "
1851*e82f7db8SAndroid Build Coastguard Worker        "suspension, if any."
1852*e82f7db8SAndroid Build Coastguard Worker        (Out
1853*e82f7db8SAndroid Build Coastguard Worker            (threadObject thread "The thread object ID. ")
1854*e82f7db8SAndroid Build Coastguard Worker        )
1855*e82f7db8SAndroid Build Coastguard Worker        (Reply
1856*e82f7db8SAndroid Build Coastguard Worker            (int threadStatus "One of the thread status codes "
1857*e82f7db8SAndroid Build Coastguard Worker                    "See <a href=\"#JDWP_ThreadStatus\">JDWP.ThreadStatus</a>")
1858*e82f7db8SAndroid Build Coastguard Worker            (int suspendStatus "One of the suspend status codes "
1859*e82f7db8SAndroid Build Coastguard Worker                    "See <a href=\"#JDWP_SuspendStatus\">JDWP.SuspendStatus</a>")
1860*e82f7db8SAndroid Build Coastguard Worker        )
1861*e82f7db8SAndroid Build Coastguard Worker        (ErrorSet
1862*e82f7db8SAndroid Build Coastguard Worker            (Error INVALID_THREAD)
1863*e82f7db8SAndroid Build Coastguard Worker            (Error INVALID_OBJECT    "thread is not a known ID.")
1864*e82f7db8SAndroid Build Coastguard Worker            (Error VM_DEAD)
1865*e82f7db8SAndroid Build Coastguard Worker        )
1866*e82f7db8SAndroid Build Coastguard Worker    )
1867*e82f7db8SAndroid Build Coastguard Worker    (Command ThreadGroup=5
1868*e82f7db8SAndroid Build Coastguard Worker        "Returns the thread group that contains a given thread. "
1869*e82f7db8SAndroid Build Coastguard Worker        (Out
1870*e82f7db8SAndroid Build Coastguard Worker            (threadObject thread "The thread object ID. ")
1871*e82f7db8SAndroid Build Coastguard Worker        )
1872*e82f7db8SAndroid Build Coastguard Worker        (Reply
1873*e82f7db8SAndroid Build Coastguard Worker            (threadGroupObject group "The thread group of this thread. ")
1874*e82f7db8SAndroid Build Coastguard Worker        )
1875*e82f7db8SAndroid Build Coastguard Worker        (ErrorSet
1876*e82f7db8SAndroid Build Coastguard Worker            (Error INVALID_THREAD)
1877*e82f7db8SAndroid Build Coastguard Worker            (Error INVALID_OBJECT    "thread is not a known ID.")
1878*e82f7db8SAndroid Build Coastguard Worker            (Error VM_DEAD)
1879*e82f7db8SAndroid Build Coastguard Worker        )
1880*e82f7db8SAndroid Build Coastguard Worker    )
1881*e82f7db8SAndroid Build Coastguard Worker    (Command Frames=6
1882*e82f7db8SAndroid Build Coastguard Worker        "Returns the current call stack of a suspended thread. "
1883*e82f7db8SAndroid Build Coastguard Worker        "The sequence of frames starts with "
1884*e82f7db8SAndroid Build Coastguard Worker        "the currently executing frame, followed by its caller, "
1885*e82f7db8SAndroid Build Coastguard Worker        "and so on. The thread must be suspended, and the returned "
1886*e82f7db8SAndroid Build Coastguard Worker        "frameID is valid only while the thread is suspended. "
1887*e82f7db8SAndroid Build Coastguard Worker        (Out
1888*e82f7db8SAndroid Build Coastguard Worker            (threadObject thread "The thread object ID. ")
1889*e82f7db8SAndroid Build Coastguard Worker            (int startFrame "The index of the first frame to retrieve.")
1890*e82f7db8SAndroid Build Coastguard Worker            (int length
1891*e82f7db8SAndroid Build Coastguard Worker                        "The count of frames to retrieve "
1892*e82f7db8SAndroid Build Coastguard Worker                        "(-1 means all remaining). ")
1893*e82f7db8SAndroid Build Coastguard Worker        )
1894*e82f7db8SAndroid Build Coastguard Worker        (Reply
1895*e82f7db8SAndroid Build Coastguard Worker            (Repeat frames "The number of frames retreived"
1896*e82f7db8SAndroid Build Coastguard Worker                (Group Frame
1897*e82f7db8SAndroid Build Coastguard Worker                    (frame frameID "The ID of this frame. ")
1898*e82f7db8SAndroid Build Coastguard Worker                    (location location "The current location of this frame")
1899*e82f7db8SAndroid Build Coastguard Worker                )
1900*e82f7db8SAndroid Build Coastguard Worker            )
1901*e82f7db8SAndroid Build Coastguard Worker        )
1902*e82f7db8SAndroid Build Coastguard Worker        (ErrorSet
1903*e82f7db8SAndroid Build Coastguard Worker            (Error INVALID_THREAD)
1904*e82f7db8SAndroid Build Coastguard Worker            (Error INVALID_OBJECT    "thread is not a known ID.")
1905*e82f7db8SAndroid Build Coastguard Worker            (Error VM_DEAD)
1906*e82f7db8SAndroid Build Coastguard Worker        )
1907*e82f7db8SAndroid Build Coastguard Worker    )
1908*e82f7db8SAndroid Build Coastguard Worker    (Command FrameCount=7
1909*e82f7db8SAndroid Build Coastguard Worker        "Returns the count of frames on this thread's stack. "
1910*e82f7db8SAndroid Build Coastguard Worker        "The thread must be suspended, and the returned "
1911*e82f7db8SAndroid Build Coastguard Worker        "count is valid only while the thread is suspended. "
1912*e82f7db8SAndroid Build Coastguard Worker        "Returns JDWP.Error.errorThreadNotSuspended if not suspended. "
1913*e82f7db8SAndroid Build Coastguard Worker        (Out
1914*e82f7db8SAndroid Build Coastguard Worker            (threadObject thread "The thread object ID. ")
1915*e82f7db8SAndroid Build Coastguard Worker        )
1916*e82f7db8SAndroid Build Coastguard Worker        (Reply
1917*e82f7db8SAndroid Build Coastguard Worker            (int frameCount "The count of frames on this thread's stack. ")
1918*e82f7db8SAndroid Build Coastguard Worker        )
1919*e82f7db8SAndroid Build Coastguard Worker        (ErrorSet
1920*e82f7db8SAndroid Build Coastguard Worker            (Error INVALID_THREAD)
1921*e82f7db8SAndroid Build Coastguard Worker            (Error INVALID_OBJECT    "thread is not a known ID.")
1922*e82f7db8SAndroid Build Coastguard Worker            (Error VM_DEAD)
1923*e82f7db8SAndroid Build Coastguard Worker        )
1924*e82f7db8SAndroid Build Coastguard Worker    )
1925*e82f7db8SAndroid Build Coastguard Worker    (Command OwnedMonitors=8
1926*e82f7db8SAndroid Build Coastguard Worker        "Returns the objects whose monitors have been entered by this thread. "
1927*e82f7db8SAndroid Build Coastguard Worker        "The thread must be suspended, and the returned information is "
1928*e82f7db8SAndroid Build Coastguard Worker        "relevant only while the thread is suspended. "
1929*e82f7db8SAndroid Build Coastguard Worker        "Requires canGetOwnedMonitorInfo capability - see "
1930*e82f7db8SAndroid Build Coastguard Worker        "<a href=\"#JDWP_VirtualMachine_CapabilitiesNew\">CapabilitiesNew</a>."
1931*e82f7db8SAndroid Build Coastguard Worker        (Out
1932*e82f7db8SAndroid Build Coastguard Worker            (threadObject thread "The thread object ID. ")
1933*e82f7db8SAndroid Build Coastguard Worker        )
1934*e82f7db8SAndroid Build Coastguard Worker        (Reply
1935*e82f7db8SAndroid Build Coastguard Worker            (Repeat owned "The number of owned monitors"
1936*e82f7db8SAndroid Build Coastguard Worker                (tagged-object monitor "An owned monitor")
1937*e82f7db8SAndroid Build Coastguard Worker            )
1938*e82f7db8SAndroid Build Coastguard Worker        )
1939*e82f7db8SAndroid Build Coastguard Worker        (ErrorSet
1940*e82f7db8SAndroid Build Coastguard Worker            (Error INVALID_THREAD)
1941*e82f7db8SAndroid Build Coastguard Worker            (Error INVALID_OBJECT    "thread is not a known ID.")
1942*e82f7db8SAndroid Build Coastguard Worker            (Error NOT_IMPLEMENTED)
1943*e82f7db8SAndroid Build Coastguard Worker            (Error VM_DEAD)
1944*e82f7db8SAndroid Build Coastguard Worker        )
1945*e82f7db8SAndroid Build Coastguard Worker    )
1946*e82f7db8SAndroid Build Coastguard Worker    (Command CurrentContendedMonitor=9
1947*e82f7db8SAndroid Build Coastguard Worker        "Returns the object, if any, for which this thread is waiting. The "
1948*e82f7db8SAndroid Build Coastguard Worker        "thread may be waiting to enter a monitor, or it may be waiting, via "
1949*e82f7db8SAndroid Build Coastguard Worker        "the java.lang.Object.wait method, for another thread to invoke the "
1950*e82f7db8SAndroid Build Coastguard Worker        "notify method. "
1951*e82f7db8SAndroid Build Coastguard Worker        "The thread must be suspended, and the returned information is "
1952*e82f7db8SAndroid Build Coastguard Worker        "relevant only while the thread is suspended. "
1953*e82f7db8SAndroid Build Coastguard Worker        "Requires canGetCurrentContendedMonitor capability - see "
1954*e82f7db8SAndroid Build Coastguard Worker        "<a href=\"#JDWP_VirtualMachine_CapabilitiesNew\">CapabilitiesNew</a>."
1955*e82f7db8SAndroid Build Coastguard Worker        (Out
1956*e82f7db8SAndroid Build Coastguard Worker            (threadObject thread "The thread object ID. ")
1957*e82f7db8SAndroid Build Coastguard Worker        )
1958*e82f7db8SAndroid Build Coastguard Worker        (Reply
1959*e82f7db8SAndroid Build Coastguard Worker            (tagged-object monitor "The contended monitor, or null if "
1960*e82f7db8SAndroid Build Coastguard Worker                                   "there is no current contended monitor. ")
1961*e82f7db8SAndroid Build Coastguard Worker        )
1962*e82f7db8SAndroid Build Coastguard Worker        (ErrorSet
1963*e82f7db8SAndroid Build Coastguard Worker            (Error INVALID_THREAD)
1964*e82f7db8SAndroid Build Coastguard Worker            (Error INVALID_OBJECT    "thread is not a known ID.")
1965*e82f7db8SAndroid Build Coastguard Worker            (Error NOT_IMPLEMENTED)
1966*e82f7db8SAndroid Build Coastguard Worker            (Error VM_DEAD)
1967*e82f7db8SAndroid Build Coastguard Worker        )
1968*e82f7db8SAndroid Build Coastguard Worker    )
1969*e82f7db8SAndroid Build Coastguard Worker    (Command Stop=10
1970*e82f7db8SAndroid Build Coastguard Worker        "Stops the thread with an asynchronous exception, as if done by "
1971*e82f7db8SAndroid Build Coastguard Worker        "java.lang.Thread.stop "
1972*e82f7db8SAndroid Build Coastguard Worker        (Out
1973*e82f7db8SAndroid Build Coastguard Worker            (threadObject thread "The thread object ID. ")
1974*e82f7db8SAndroid Build Coastguard Worker            (object throwable "Asynchronous exception. This object must "
1975*e82f7db8SAndroid Build Coastguard Worker                              "be an instance of java.lang.Throwable or a subclass")
1976*e82f7db8SAndroid Build Coastguard Worker        )
1977*e82f7db8SAndroid Build Coastguard Worker        (Reply "none"
1978*e82f7db8SAndroid Build Coastguard Worker        )
1979*e82f7db8SAndroid Build Coastguard Worker        (ErrorSet
1980*e82f7db8SAndroid Build Coastguard Worker            (Error INVALID_THREAD)
1981*e82f7db8SAndroid Build Coastguard Worker            (Error INVALID_OBJECT "If thread is not a known ID or the asynchronous "
1982*e82f7db8SAndroid Build Coastguard Worker                                  "exception has been garbage collected.")
1983*e82f7db8SAndroid Build Coastguard Worker            (Error VM_DEAD)
1984*e82f7db8SAndroid Build Coastguard Worker        )
1985*e82f7db8SAndroid Build Coastguard Worker    )
1986*e82f7db8SAndroid Build Coastguard Worker    (Command Interrupt=11
1987*e82f7db8SAndroid Build Coastguard Worker        "Interrupt the thread, as if done by java.lang.Thread.interrupt "
1988*e82f7db8SAndroid Build Coastguard Worker        (Out
1989*e82f7db8SAndroid Build Coastguard Worker            (threadObject thread "The thread object ID. ")
1990*e82f7db8SAndroid Build Coastguard Worker        )
1991*e82f7db8SAndroid Build Coastguard Worker        (Reply "none"
1992*e82f7db8SAndroid Build Coastguard Worker        )
1993*e82f7db8SAndroid Build Coastguard Worker        (ErrorSet
1994*e82f7db8SAndroid Build Coastguard Worker            (Error INVALID_THREAD)
1995*e82f7db8SAndroid Build Coastguard Worker            (Error INVALID_OBJECT    "thread is not a known ID.")
1996*e82f7db8SAndroid Build Coastguard Worker            (Error VM_DEAD)
1997*e82f7db8SAndroid Build Coastguard Worker        )
1998*e82f7db8SAndroid Build Coastguard Worker    )
1999*e82f7db8SAndroid Build Coastguard Worker    (Command SuspendCount=12
2000*e82f7db8SAndroid Build Coastguard Worker        "Get the suspend count for this thread. The suspend count is the  "
2001*e82f7db8SAndroid Build Coastguard Worker        "number of times the thread has been suspended through the "
2002*e82f7db8SAndroid Build Coastguard Worker        "thread-level or VM-level suspend commands without a corresponding resume "
2003*e82f7db8SAndroid Build Coastguard Worker        (Out
2004*e82f7db8SAndroid Build Coastguard Worker            (threadObject thread "The thread object ID. ")
2005*e82f7db8SAndroid Build Coastguard Worker        )
2006*e82f7db8SAndroid Build Coastguard Worker        (Reply
2007*e82f7db8SAndroid Build Coastguard Worker            (int suspendCount "The number of outstanding suspends of this thread. ")
2008*e82f7db8SAndroid Build Coastguard Worker        )
2009*e82f7db8SAndroid Build Coastguard Worker        (ErrorSet
2010*e82f7db8SAndroid Build Coastguard Worker            (Error INVALID_THREAD)
2011*e82f7db8SAndroid Build Coastguard Worker            (Error INVALID_OBJECT    "thread is not a known ID.")
2012*e82f7db8SAndroid Build Coastguard Worker            (Error VM_DEAD)
2013*e82f7db8SAndroid Build Coastguard Worker        )
2014*e82f7db8SAndroid Build Coastguard Worker    )
2015*e82f7db8SAndroid Build Coastguard Worker    (Command OwnedMonitorsStackDepthInfo=13
2016*e82f7db8SAndroid Build Coastguard Worker        "Returns monitor objects owned by the thread, along with stack depth at which "
2017*e82f7db8SAndroid Build Coastguard Worker        "the monitor was acquired. Returns stack depth of -1  if "
2018*e82f7db8SAndroid Build Coastguard Worker        "the implementation cannot determine the stack depth "
2019*e82f7db8SAndroid Build Coastguard Worker        "(e.g., for monitors acquired by JNI MonitorEnter)."
2020*e82f7db8SAndroid Build Coastguard Worker        "The thread must be suspended, and the returned information is "
2021*e82f7db8SAndroid Build Coastguard Worker        "relevant only while the thread is suspended. "
2022*e82f7db8SAndroid Build Coastguard Worker        "Requires canGetMonitorFrameInfo capability - see "
2023*e82f7db8SAndroid Build Coastguard Worker        "<a href=\"#JDWP_VirtualMachine_CapabilitiesNew\">CapabilitiesNew</a>. "
2024*e82f7db8SAndroid Build Coastguard Worker        "<p>Since JDWP version 1.6. "
2025*e82f7db8SAndroid Build Coastguard Worker
2026*e82f7db8SAndroid Build Coastguard Worker        (Out
2027*e82f7db8SAndroid Build Coastguard Worker            (threadObject thread "The thread object ID. ")
2028*e82f7db8SAndroid Build Coastguard Worker        )
2029*e82f7db8SAndroid Build Coastguard Worker        (Reply
2030*e82f7db8SAndroid Build Coastguard Worker            (Repeat owned "The number of owned monitors"
2031*e82f7db8SAndroid Build Coastguard Worker               (Group monitor
2032*e82f7db8SAndroid Build Coastguard Worker                  (tagged-object monitor "An owned monitor")
2033*e82f7db8SAndroid Build Coastguard Worker                  (int stack_depth "Stack depth location where monitor was acquired")
2034*e82f7db8SAndroid Build Coastguard Worker               )
2035*e82f7db8SAndroid Build Coastguard Worker            )
2036*e82f7db8SAndroid Build Coastguard Worker        )
2037*e82f7db8SAndroid Build Coastguard Worker        (ErrorSet
2038*e82f7db8SAndroid Build Coastguard Worker            (Error INVALID_THREAD)
2039*e82f7db8SAndroid Build Coastguard Worker            (Error INVALID_OBJECT    "thread is not a known ID.")
2040*e82f7db8SAndroid Build Coastguard Worker            (Error NOT_IMPLEMENTED)
2041*e82f7db8SAndroid Build Coastguard Worker            (Error VM_DEAD)
2042*e82f7db8SAndroid Build Coastguard Worker        )
2043*e82f7db8SAndroid Build Coastguard Worker    )
2044*e82f7db8SAndroid Build Coastguard Worker    (Command ForceEarlyReturn=14
2045*e82f7db8SAndroid Build Coastguard Worker        "Force a method to return before it reaches a return "
2046*e82f7db8SAndroid Build Coastguard Worker        "statement.  "
2047*e82f7db8SAndroid Build Coastguard Worker        "<p>"
2048*e82f7db8SAndroid Build Coastguard Worker        "The method which will return early is referred to as the "
2049*e82f7db8SAndroid Build Coastguard Worker        "called method. The called method is the current method (as "
2050*e82f7db8SAndroid Build Coastguard Worker        "defined by the Frames section in "
2051*e82f7db8SAndroid Build Coastguard Worker        "<cite>The Java&trade; Virtual Machine Specification</cite>) "
2052*e82f7db8SAndroid Build Coastguard Worker        "for the specified thread at the time this command "
2053*e82f7db8SAndroid Build Coastguard Worker        "is received. "
2054*e82f7db8SAndroid Build Coastguard Worker        "<p>"
2055*e82f7db8SAndroid Build Coastguard Worker        "The specified thread must be suspended. "
2056*e82f7db8SAndroid Build Coastguard Worker        "The return occurs when execution of Java programming "
2057*e82f7db8SAndroid Build Coastguard Worker        "language code is resumed on this thread. Between sending this "
2058*e82f7db8SAndroid Build Coastguard Worker        "command and resumption of thread execution, the "
2059*e82f7db8SAndroid Build Coastguard Worker        "state of the stack is undefined. "
2060*e82f7db8SAndroid Build Coastguard Worker        "<p>"
2061*e82f7db8SAndroid Build Coastguard Worker        "No further instructions are executed in the called "
2062*e82f7db8SAndroid Build Coastguard Worker        "method. Specifically, finally blocks are not executed. Note: "
2063*e82f7db8SAndroid Build Coastguard Worker        "this can cause inconsistent states in the application. "
2064*e82f7db8SAndroid Build Coastguard Worker        "<p>"
2065*e82f7db8SAndroid Build Coastguard Worker        "A lock acquired by calling the called method (if it is a "
2066*e82f7db8SAndroid Build Coastguard Worker        "synchronized method) and locks acquired by entering "
2067*e82f7db8SAndroid Build Coastguard Worker        "synchronized blocks within the called method are "
2068*e82f7db8SAndroid Build Coastguard Worker        "released. Note: this does not apply to JNI locks or "
2069*e82f7db8SAndroid Build Coastguard Worker        "java.util.concurrent.locks locks. "
2070*e82f7db8SAndroid Build Coastguard Worker        "<p>"
2071*e82f7db8SAndroid Build Coastguard Worker        "Events, such as MethodExit, are generated as they would be in "
2072*e82f7db8SAndroid Build Coastguard Worker        "a normal return. "
2073*e82f7db8SAndroid Build Coastguard Worker        "<p>"
2074*e82f7db8SAndroid Build Coastguard Worker        "The called method must be a non-native Java programming "
2075*e82f7db8SAndroid Build Coastguard Worker        "language method. Forcing return on a thread with only one "
2076*e82f7db8SAndroid Build Coastguard Worker        "frame on the stack causes the thread to exit when resumed. "
2077*e82f7db8SAndroid Build Coastguard Worker        "<p>"
2078*e82f7db8SAndroid Build Coastguard Worker        "For void methods, the value must be a void value. "
2079*e82f7db8SAndroid Build Coastguard Worker        "For methods that return primitive values, the value's type must "
2080*e82f7db8SAndroid Build Coastguard Worker        "match the return type exactly.  For object values, there must be a "
2081*e82f7db8SAndroid Build Coastguard Worker        "widening reference conversion from the value's type to the "
2082*e82f7db8SAndroid Build Coastguard Worker        "return type type and the return type must be loaded. "
2083*e82f7db8SAndroid Build Coastguard Worker        "<p>"
2084*e82f7db8SAndroid Build Coastguard Worker        "Since JDWP version 1.6. Requires canForceEarlyReturn capability - see "
2085*e82f7db8SAndroid Build Coastguard Worker        "<a href=\"#JDWP_VirtualMachine_CapabilitiesNew\">CapabilitiesNew</a>."
2086*e82f7db8SAndroid Build Coastguard Worker        (Out
2087*e82f7db8SAndroid Build Coastguard Worker            (threadObject thread "The thread object ID. ")
2088*e82f7db8SAndroid Build Coastguard Worker            (value value "The value to return. ")
2089*e82f7db8SAndroid Build Coastguard Worker        )
2090*e82f7db8SAndroid Build Coastguard Worker        (Reply "none"
2091*e82f7db8SAndroid Build Coastguard Worker        )
2092*e82f7db8SAndroid Build Coastguard Worker        (ErrorSet
2093*e82f7db8SAndroid Build Coastguard Worker            (Error INVALID_THREAD)
2094*e82f7db8SAndroid Build Coastguard Worker            (Error INVALID_OBJECT    "Thread or value is not a known ID.")
2095*e82f7db8SAndroid Build Coastguard Worker            (Error THREAD_NOT_SUSPENDED)
2096*e82f7db8SAndroid Build Coastguard Worker            (Error THREAD_NOT_ALIVE)
2097*e82f7db8SAndroid Build Coastguard Worker            (Error OPAQUE_FRAME      "Attempted to return early from "
2098*e82f7db8SAndroid Build Coastguard Worker                                     "a frame corresponding to a native "
2099*e82f7db8SAndroid Build Coastguard Worker                                     "method. Or the implementation is "
2100*e82f7db8SAndroid Build Coastguard Worker                                     "unable to provide this functionality "
2101*e82f7db8SAndroid Build Coastguard Worker                                     "on this frame.")
2102*e82f7db8SAndroid Build Coastguard Worker            (Error NO_MORE_FRAMES)
2103*e82f7db8SAndroid Build Coastguard Worker            (Error NOT_IMPLEMENTED)
2104*e82f7db8SAndroid Build Coastguard Worker            (Error TYPE_MISMATCH   "Value is not an appropriate type for the "
2105*e82f7db8SAndroid Build Coastguard Worker                                   "return value of the method.")
2106*e82f7db8SAndroid Build Coastguard Worker            (Error VM_DEAD)
2107*e82f7db8SAndroid Build Coastguard Worker        )
2108*e82f7db8SAndroid Build Coastguard Worker    )
2109*e82f7db8SAndroid Build Coastguard Worker
2110*e82f7db8SAndroid Build Coastguard Worker)
2111*e82f7db8SAndroid Build Coastguard Worker(CommandSet ThreadGroupReference=12
2112*e82f7db8SAndroid Build Coastguard Worker    (Command Name=1
2113*e82f7db8SAndroid Build Coastguard Worker        "Returns the thread group name. "
2114*e82f7db8SAndroid Build Coastguard Worker        (Out
2115*e82f7db8SAndroid Build Coastguard Worker            (threadGroupObject group "The thread group object ID. ")
2116*e82f7db8SAndroid Build Coastguard Worker        )
2117*e82f7db8SAndroid Build Coastguard Worker        (Reply
2118*e82f7db8SAndroid Build Coastguard Worker            (string groupName "The thread group's name.")
2119*e82f7db8SAndroid Build Coastguard Worker        )
2120*e82f7db8SAndroid Build Coastguard Worker        (ErrorSet
2121*e82f7db8SAndroid Build Coastguard Worker            (Error INVALID_THREAD_GROUP)
2122*e82f7db8SAndroid Build Coastguard Worker            (Error INVALID_OBJECT    "group is not a known ID.")
2123*e82f7db8SAndroid Build Coastguard Worker            (Error VM_DEAD)
2124*e82f7db8SAndroid Build Coastguard Worker        )
2125*e82f7db8SAndroid Build Coastguard Worker    )
2126*e82f7db8SAndroid Build Coastguard Worker    (Command Parent=2
2127*e82f7db8SAndroid Build Coastguard Worker        "Returns the thread group, if any, which contains a given thread group. "
2128*e82f7db8SAndroid Build Coastguard Worker        (Out
2129*e82f7db8SAndroid Build Coastguard Worker            (threadGroupObject group "The thread group object ID. ")
2130*e82f7db8SAndroid Build Coastguard Worker        )
2131*e82f7db8SAndroid Build Coastguard Worker        (Reply
2132*e82f7db8SAndroid Build Coastguard Worker            (threadGroupObject parentGroup "The parent thread group object, or "
2133*e82f7db8SAndroid Build Coastguard Worker                                           "null if the given thread group "
2134*e82f7db8SAndroid Build Coastguard Worker                                           "is a top-level thread group")
2135*e82f7db8SAndroid Build Coastguard Worker        )
2136*e82f7db8SAndroid Build Coastguard Worker        (ErrorSet
2137*e82f7db8SAndroid Build Coastguard Worker            (Error INVALID_THREAD_GROUP)
2138*e82f7db8SAndroid Build Coastguard Worker            (Error INVALID_OBJECT    "group is not a known ID.")
2139*e82f7db8SAndroid Build Coastguard Worker            (Error VM_DEAD)
2140*e82f7db8SAndroid Build Coastguard Worker        )
2141*e82f7db8SAndroid Build Coastguard Worker    )
2142*e82f7db8SAndroid Build Coastguard Worker    (Command Children=3
2143*e82f7db8SAndroid Build Coastguard Worker        "Returns the live threads and active thread groups directly contained "
2144*e82f7db8SAndroid Build Coastguard Worker        "in this thread group. Threads and thread groups in child "
2145*e82f7db8SAndroid Build Coastguard Worker        "thread groups are not included. "
2146*e82f7db8SAndroid Build Coastguard Worker        "A thread is alive if it has been started and has not yet been stopped. "
2147*e82f7db8SAndroid Build Coastguard Worker        "See <a href=../../../api/java/lang/ThreadGroup.html>java.lang.ThreadGroup </a>
2148*e82f7db8SAndroid Build Coastguard Worker        "for information about active ThreadGroups.
2149*e82f7db8SAndroid Build Coastguard Worker        (Out
2150*e82f7db8SAndroid Build Coastguard Worker            (threadGroupObject group "The thread group object ID. ")
2151*e82f7db8SAndroid Build Coastguard Worker        )
2152*e82f7db8SAndroid Build Coastguard Worker        (Reply
2153*e82f7db8SAndroid Build Coastguard Worker            (Repeat childThreads "The number of live child threads. "
2154*e82f7db8SAndroid Build Coastguard Worker                (threadObject childThread "A direct child thread ID. ")
2155*e82f7db8SAndroid Build Coastguard Worker            )
2156*e82f7db8SAndroid Build Coastguard Worker            (Repeat childGroups "The number of active child thread groups. "
2157*e82f7db8SAndroid Build Coastguard Worker                (threadGroupObject childGroup "A direct child thread group ID. ")
2158*e82f7db8SAndroid Build Coastguard Worker            )
2159*e82f7db8SAndroid Build Coastguard Worker        )
2160*e82f7db8SAndroid Build Coastguard Worker        (ErrorSet
2161*e82f7db8SAndroid Build Coastguard Worker            (Error INVALID_THREAD_GROUP)
2162*e82f7db8SAndroid Build Coastguard Worker            (Error INVALID_OBJECT    "group is not a known ID.")
2163*e82f7db8SAndroid Build Coastguard Worker            (Error VM_DEAD)
2164*e82f7db8SAndroid Build Coastguard Worker        )
2165*e82f7db8SAndroid Build Coastguard Worker    )
2166*e82f7db8SAndroid Build Coastguard Worker)
2167*e82f7db8SAndroid Build Coastguard Worker(CommandSet ArrayReference=13
2168*e82f7db8SAndroid Build Coastguard Worker    (Command Length=1
2169*e82f7db8SAndroid Build Coastguard Worker        "Returns the number of components in a given array. "
2170*e82f7db8SAndroid Build Coastguard Worker        (Out
2171*e82f7db8SAndroid Build Coastguard Worker            (arrayObject arrayObject "The array object ID. ")
2172*e82f7db8SAndroid Build Coastguard Worker        )
2173*e82f7db8SAndroid Build Coastguard Worker        (Reply
2174*e82f7db8SAndroid Build Coastguard Worker            (int arrayLength "The length of the array.")
2175*e82f7db8SAndroid Build Coastguard Worker        )
2176*e82f7db8SAndroid Build Coastguard Worker        (ErrorSet
2177*e82f7db8SAndroid Build Coastguard Worker            (Error INVALID_OBJECT    "arrayObject is not a known ID.")
2178*e82f7db8SAndroid Build Coastguard Worker            (Error INVALID_ARRAY)
2179*e82f7db8SAndroid Build Coastguard Worker            (Error VM_DEAD)
2180*e82f7db8SAndroid Build Coastguard Worker        )
2181*e82f7db8SAndroid Build Coastguard Worker    )
2182*e82f7db8SAndroid Build Coastguard Worker    (Command GetValues=2
2183*e82f7db8SAndroid Build Coastguard Worker        "Returns a range of array components. The specified range must "
2184*e82f7db8SAndroid Build Coastguard Worker        "be within the bounds of the array. "
2185*e82f7db8SAndroid Build Coastguard Worker        (Out
2186*e82f7db8SAndroid Build Coastguard Worker            (arrayObject arrayObject "The array object ID. ")
2187*e82f7db8SAndroid Build Coastguard Worker            (int firstIndex "The first index to retrieve.")
2188*e82f7db8SAndroid Build Coastguard Worker            (int length "The number of components to retrieve.")
2189*e82f7db8SAndroid Build Coastguard Worker        )
2190*e82f7db8SAndroid Build Coastguard Worker        (Reply
2191*e82f7db8SAndroid Build Coastguard Worker            (typed-sequence values "The retrieved values. If the values "
2192*e82f7db8SAndroid Build Coastguard Worker                                   "are objects, they are tagged-values; "
2193*e82f7db8SAndroid Build Coastguard Worker                                   "otherwise, they are untagged-values")
2194*e82f7db8SAndroid Build Coastguard Worker        )
2195*e82f7db8SAndroid Build Coastguard Worker        (ErrorSet
2196*e82f7db8SAndroid Build Coastguard Worker            (Error INVALID_LENGTH "If index is beyond the end of this array.")
2197*e82f7db8SAndroid Build Coastguard Worker            (Error INVALID_OBJECT    "arrayObject is not a known ID.")
2198*e82f7db8SAndroid Build Coastguard Worker            (Error INVALID_ARRAY)
2199*e82f7db8SAndroid Build Coastguard Worker            (Error VM_DEAD)
2200*e82f7db8SAndroid Build Coastguard Worker        )
2201*e82f7db8SAndroid Build Coastguard Worker    )
2202*e82f7db8SAndroid Build Coastguard Worker    (Command SetValues=3
2203*e82f7db8SAndroid Build Coastguard Worker        "Sets a range of array components. The specified range must "
2204*e82f7db8SAndroid Build Coastguard Worker        "be within the bounds of the array. "
2205*e82f7db8SAndroid Build Coastguard Worker        "For primitive values, each value's type must match the "
2206*e82f7db8SAndroid Build Coastguard Worker        "array component type exactly. For object values, there must be a "
2207*e82f7db8SAndroid Build Coastguard Worker        "widening reference conversion from the value's type to the
2208*e82f7db8SAndroid Build Coastguard Worker        "array component type and the array component type must be loaded. "
2209*e82f7db8SAndroid Build Coastguard Worker        (Out
2210*e82f7db8SAndroid Build Coastguard Worker            (arrayObject arrayObject "The array object ID. ")
2211*e82f7db8SAndroid Build Coastguard Worker            (int firstIndex "The first index to set.")
2212*e82f7db8SAndroid Build Coastguard Worker            (Repeat values "The number of values to set. "
2213*e82f7db8SAndroid Build Coastguard Worker                (untagged-value value "A value to set. ")
2214*e82f7db8SAndroid Build Coastguard Worker            )
2215*e82f7db8SAndroid Build Coastguard Worker        )
2216*e82f7db8SAndroid Build Coastguard Worker        (Reply "none"
2217*e82f7db8SAndroid Build Coastguard Worker        )
2218*e82f7db8SAndroid Build Coastguard Worker        (ErrorSet
2219*e82f7db8SAndroid Build Coastguard Worker            (Error INVALID_LENGTH "If index is beyond the end of this array.")
2220*e82f7db8SAndroid Build Coastguard Worker            (Error INVALID_OBJECT    "arrayObject is not a known ID.")
2221*e82f7db8SAndroid Build Coastguard Worker            (Error INVALID_ARRAY)
2222*e82f7db8SAndroid Build Coastguard Worker            (Error VM_DEAD)
2223*e82f7db8SAndroid Build Coastguard Worker        )
2224*e82f7db8SAndroid Build Coastguard Worker    )
2225*e82f7db8SAndroid Build Coastguard Worker)
2226*e82f7db8SAndroid Build Coastguard Worker(CommandSet ClassLoaderReference=14
2227*e82f7db8SAndroid Build Coastguard Worker    (Command VisibleClasses=1
2228*e82f7db8SAndroid Build Coastguard Worker        "Returns a list of all classes which this class loader has "
2229*e82f7db8SAndroid Build Coastguard Worker        "been requested to load. This class loader is considered to be "
2230*e82f7db8SAndroid Build Coastguard Worker        "an <i>initiating</i> class loader for each class in the returned "
2231*e82f7db8SAndroid Build Coastguard Worker        "list. The list contains each "
2232*e82f7db8SAndroid Build Coastguard Worker        "reference type defined by this loader and any types for which "
2233*e82f7db8SAndroid Build Coastguard Worker        "loading was delegated by this class loader to another class loader. "
2234*e82f7db8SAndroid Build Coastguard Worker        "<p>"
2235*e82f7db8SAndroid Build Coastguard Worker        "The visible class list has useful properties with respect to "
2236*e82f7db8SAndroid Build Coastguard Worker        "the type namespace. A particular type name will occur at most "
2237*e82f7db8SAndroid Build Coastguard Worker        "once in the list. Each field or variable declared with that "
2238*e82f7db8SAndroid Build Coastguard Worker        "type name in a class defined by "
2239*e82f7db8SAndroid Build Coastguard Worker        "this class loader must be resolved to that single type. "
2240*e82f7db8SAndroid Build Coastguard Worker        "<p>"
2241*e82f7db8SAndroid Build Coastguard Worker        "No ordering of the returned list is guaranteed. "
2242*e82f7db8SAndroid Build Coastguard Worker        (Out
2243*e82f7db8SAndroid Build Coastguard Worker            (classLoaderObject classLoaderObject "The class loader object ID. ")
2244*e82f7db8SAndroid Build Coastguard Worker        )
2245*e82f7db8SAndroid Build Coastguard Worker        (Reply
2246*e82f7db8SAndroid Build Coastguard Worker            (Repeat classes "The number of visible classes. "
2247*e82f7db8SAndroid Build Coastguard Worker                (Group ClassInfo
2248*e82f7db8SAndroid Build Coastguard Worker                    (byte refTypeTag  "<a href=\"#JDWP_TypeTag\">Kind</a> "
2249*e82f7db8SAndroid Build Coastguard Worker                                      "of following reference type. ")
2250*e82f7db8SAndroid Build Coastguard Worker                    (referenceTypeID typeID
2251*e82f7db8SAndroid Build Coastguard Worker                        "A class visible to this class loader.")
2252*e82f7db8SAndroid Build Coastguard Worker                )
2253*e82f7db8SAndroid Build Coastguard Worker            )
2254*e82f7db8SAndroid Build Coastguard Worker        )
2255*e82f7db8SAndroid Build Coastguard Worker        (ErrorSet
2256*e82f7db8SAndroid Build Coastguard Worker            (Error INVALID_OBJECT)
2257*e82f7db8SAndroid Build Coastguard Worker            (Error INVALID_CLASS_LOADER)
2258*e82f7db8SAndroid Build Coastguard Worker            (Error VM_DEAD)
2259*e82f7db8SAndroid Build Coastguard Worker        )
2260*e82f7db8SAndroid Build Coastguard Worker    )
2261*e82f7db8SAndroid Build Coastguard Worker)
2262*e82f7db8SAndroid Build Coastguard Worker(CommandSet EventRequest=15
2263*e82f7db8SAndroid Build Coastguard Worker    (Command Set=1
2264*e82f7db8SAndroid Build Coastguard Worker        "Set an event request. When the event described by this request "
2265*e82f7db8SAndroid Build Coastguard Worker        "occurs, an <a href=\"#JDWP_Event\">event</a> is sent from the "
2266*e82f7db8SAndroid Build Coastguard Worker        "target VM. If an event occurs that has not been requested then it is not sent "
2267*e82f7db8SAndroid Build Coastguard Worker        "from the target VM. The two exceptions to this are the VM Start Event and "
2268*e82f7db8SAndroid Build Coastguard Worker        "the VM Death Event which are automatically generated events - see "
2269*e82f7db8SAndroid Build Coastguard Worker        "<a href=\"#JDWP_Event_Composite\">Composite Command</a> for further details."
2270*e82f7db8SAndroid Build Coastguard Worker        (Out
2271*e82f7db8SAndroid Build Coastguard Worker            (byte eventKind "Event kind to request. "
2272*e82f7db8SAndroid Build Coastguard Worker                      "See <a href=\"#JDWP_EventKind\">JDWP.EventKind</a> "
2273*e82f7db8SAndroid Build Coastguard Worker                      "for a complete list of events that can be requested; "
2274*e82f7db8SAndroid Build Coastguard Worker                      "some events may require a capability in order to be requested. "
2275*e82f7db8SAndroid Build Coastguard Worker                      )
2276*e82f7db8SAndroid Build Coastguard Worker            (byte suspendPolicy
2277*e82f7db8SAndroid Build Coastguard Worker                      "What threads are suspended when this event occurs? "
2278*e82f7db8SAndroid Build Coastguard Worker                      "Note that the order of events and command replies "
2279*e82f7db8SAndroid Build Coastguard Worker                      "accurately reflects the order in which threads are "
2280*e82f7db8SAndroid Build Coastguard Worker                      "suspended and resumed. For example, if a "
2281*e82f7db8SAndroid Build Coastguard Worker                      "<a href=\"#JDWP_VirtualMachine_Resume\">VM-wide resume</a> "
2282*e82f7db8SAndroid Build Coastguard Worker                      "is processed before an event occurs which suspends the "
2283*e82f7db8SAndroid Build Coastguard Worker                      "VM, the reply to the resume command will be written to "
2284*e82f7db8SAndroid Build Coastguard Worker                      "the transport before the suspending event.")
2285*e82f7db8SAndroid Build Coastguard Worker            (Repeat modifiers "Constraints used to control the number "
2286*e82f7db8SAndroid Build Coastguard Worker                              "of generated events."
2287*e82f7db8SAndroid Build Coastguard Worker                              "Modifiers specify additional tests that "
2288*e82f7db8SAndroid Build Coastguard Worker                              "an event must satisfy before it is placed "
2289*e82f7db8SAndroid Build Coastguard Worker                              "in the event queue. Events are filtered by "
2290*e82f7db8SAndroid Build Coastguard Worker                              "applying each modifier to an event in the "
2291*e82f7db8SAndroid Build Coastguard Worker                              "order they are specified in this collection "
2292*e82f7db8SAndroid Build Coastguard Worker                              "Only events that satisfy all modifiers "
2293*e82f7db8SAndroid Build Coastguard Worker                              "are reported. A value of 0 means there are no "
2294*e82f7db8SAndroid Build Coastguard Worker                              "modifiers in the request."
2295*e82f7db8SAndroid Build Coastguard Worker                              "<p>"
2296*e82f7db8SAndroid Build Coastguard Worker                              "Filtering can improve "
2297*e82f7db8SAndroid Build Coastguard Worker                              "debugger performance dramatically by
2298*e82f7db8SAndroid Build Coastguard Worker                              "reducing the "
2299*e82f7db8SAndroid Build Coastguard Worker                              "amount of event traffic sent from the "
2300*e82f7db8SAndroid Build Coastguard Worker                              "target VM to the debugger VM. "
2301*e82f7db8SAndroid Build Coastguard Worker                (Select Modifier
2302*e82f7db8SAndroid Build Coastguard Worker                    (byte modKind "Modifier kind")
2303*e82f7db8SAndroid Build Coastguard Worker                    (Alt Count=1
2304*e82f7db8SAndroid Build Coastguard Worker                        "Limit the requested event to be reported at most once after a "
2305*e82f7db8SAndroid Build Coastguard Worker                        "given number of occurrences.  The event is not reported "
2306*e82f7db8SAndroid Build Coastguard Worker                        "the first <code>count - 1</code> times this filter is reached. "
2307*e82f7db8SAndroid Build Coastguard Worker                        "To request a one-off event, call this method with a count of 1. "
2308*e82f7db8SAndroid Build Coastguard Worker                        "<p>"
2309*e82f7db8SAndroid Build Coastguard Worker                        "Once the count reaches 0, any subsequent filters in this request "
2310*e82f7db8SAndroid Build Coastguard Worker                        "are applied. If none of those filters cause the event to be "
2311*e82f7db8SAndroid Build Coastguard Worker                        "suppressed, the event is reported. Otherwise, the event is not "
2312*e82f7db8SAndroid Build Coastguard Worker                        "reported. In either case subsequent events are never reported for "
2313*e82f7db8SAndroid Build Coastguard Worker                        "this request. "
2314*e82f7db8SAndroid Build Coastguard Worker                        "This modifier can be used with any event kind."
2315*e82f7db8SAndroid Build Coastguard Worker
2316*e82f7db8SAndroid Build Coastguard Worker                        (int count "Count before event. One for one-off.")
2317*e82f7db8SAndroid Build Coastguard Worker                    )
2318*e82f7db8SAndroid Build Coastguard Worker                    (Alt Conditional=2 "Conditional on expression"
2319*e82f7db8SAndroid Build Coastguard Worker                        (int exprID "For the future")
2320*e82f7db8SAndroid Build Coastguard Worker                    )
2321*e82f7db8SAndroid Build Coastguard Worker                    (Alt ThreadOnly=3
2322*e82f7db8SAndroid Build Coastguard Worker                        "Restricts reported events to "
2323*e82f7db8SAndroid Build Coastguard Worker                        "those in the given thread. "
2324*e82f7db8SAndroid Build Coastguard Worker                        "This modifier can be used with any event kind "
2325*e82f7db8SAndroid Build Coastguard Worker                        "except for class unload. "
2326*e82f7db8SAndroid Build Coastguard Worker
2327*e82f7db8SAndroid Build Coastguard Worker                        (threadObject thread "Required thread")
2328*e82f7db8SAndroid Build Coastguard Worker                    )
2329*e82f7db8SAndroid Build Coastguard Worker                    (Alt ClassOnly=4
2330*e82f7db8SAndroid Build Coastguard Worker                        "For class prepare events, restricts the events "
2331*e82f7db8SAndroid Build Coastguard Worker                        "generated by this request to be the "
2332*e82f7db8SAndroid Build Coastguard Worker                        "preparation of the given reference type and any subtypes. "
2333*e82f7db8SAndroid Build Coastguard Worker                        "For monitor wait and waited events, restricts the events "
2334*e82f7db8SAndroid Build Coastguard Worker                        "generated by this request to those whose monitor object "
2335*e82f7db8SAndroid Build Coastguard Worker                        "is of the given reference type or any of its subtypes. "
2336*e82f7db8SAndroid Build Coastguard Worker                        "For other events, restricts the events generated "
2337*e82f7db8SAndroid Build Coastguard Worker                        "by this request to those "
2338*e82f7db8SAndroid Build Coastguard Worker                        "whose location is in the given reference type or any of its subtypes. "
2339*e82f7db8SAndroid Build Coastguard Worker                        "An event will be generated for any location in a reference type that can "
2340*e82f7db8SAndroid Build Coastguard Worker                        "be safely cast to the given reference type. "
2341*e82f7db8SAndroid Build Coastguard Worker                        "This modifier can be used with any event kind except "
2342*e82f7db8SAndroid Build Coastguard Worker                        "class unload, thread start, and thread end. "
2343*e82f7db8SAndroid Build Coastguard Worker
2344*e82f7db8SAndroid Build Coastguard Worker                        (referenceType clazz "Required class")
2345*e82f7db8SAndroid Build Coastguard Worker                    )
2346*e82f7db8SAndroid Build Coastguard Worker                    (Alt ClassMatch=5
2347*e82f7db8SAndroid Build Coastguard Worker                        "Restricts reported events to those for classes whose name "
2348*e82f7db8SAndroid Build Coastguard Worker                        "matches the given restricted regular expression. "
2349*e82f7db8SAndroid Build Coastguard Worker                        "For class prepare events, the prepared class name "
2350*e82f7db8SAndroid Build Coastguard Worker                        "is matched. For class unload events, the "
2351*e82f7db8SAndroid Build Coastguard Worker                        "unloaded class name is matched. For monitor wait "
2352*e82f7db8SAndroid Build Coastguard Worker                        "and waited events, the name of the class of the "
2353*e82f7db8SAndroid Build Coastguard Worker                        "monitor object is matched. For other events, "
2354*e82f7db8SAndroid Build Coastguard Worker                        "the class name of the event's location is matched. "
2355*e82f7db8SAndroid Build Coastguard Worker                        "This modifier can be used with any event kind except "
2356*e82f7db8SAndroid Build Coastguard Worker                        "thread start and thread end. "
2357*e82f7db8SAndroid Build Coastguard Worker
2358*e82f7db8SAndroid Build Coastguard Worker                        (string classPattern "Required class pattern. "
2359*e82f7db8SAndroid Build Coastguard Worker                                "Matches are limited to exact matches of the "
2360*e82f7db8SAndroid Build Coastguard Worker                                "given class pattern and matches of patterns that "
2361*e82f7db8SAndroid Build Coastguard Worker                                "begin or end with '*'; for example, "
2362*e82f7db8SAndroid Build Coastguard Worker                                "\"*.Foo\" or \"java.*\". "
2363*e82f7db8SAndroid Build Coastguard Worker                        )
2364*e82f7db8SAndroid Build Coastguard Worker
2365*e82f7db8SAndroid Build Coastguard Worker                    )
2366*e82f7db8SAndroid Build Coastguard Worker                    (Alt ClassExclude=6
2367*e82f7db8SAndroid Build Coastguard Worker                        "Restricts reported events to those for classes whose name "
2368*e82f7db8SAndroid Build Coastguard Worker                        "does not match the given restricted regular expression. "
2369*e82f7db8SAndroid Build Coastguard Worker                        "For class prepare events, the prepared class name "
2370*e82f7db8SAndroid Build Coastguard Worker                        "is matched. For class unload events, the "
2371*e82f7db8SAndroid Build Coastguard Worker                        "unloaded class name is matched. For monitor wait and "
2372*e82f7db8SAndroid Build Coastguard Worker                        "waited events, the name of the class of the monitor "
2373*e82f7db8SAndroid Build Coastguard Worker                        "object is matched. For other events, "
2374*e82f7db8SAndroid Build Coastguard Worker                        "the class name of the event's location is matched. "
2375*e82f7db8SAndroid Build Coastguard Worker                        "This modifier can be used with any event kind except "
2376*e82f7db8SAndroid Build Coastguard Worker                        "thread start and thread end. "
2377*e82f7db8SAndroid Build Coastguard Worker
2378*e82f7db8SAndroid Build Coastguard Worker                        (string classPattern "Disallowed class pattern. "
2379*e82f7db8SAndroid Build Coastguard Worker                                "Matches are limited to exact matches of the "
2380*e82f7db8SAndroid Build Coastguard Worker                                "given class pattern and matches of patterns that "
2381*e82f7db8SAndroid Build Coastguard Worker                                "begin or end with '*'; for example, "
2382*e82f7db8SAndroid Build Coastguard Worker                                "\"*.Foo\" or \"java.*\". "
2383*e82f7db8SAndroid Build Coastguard Worker                        )
2384*e82f7db8SAndroid Build Coastguard Worker                    )
2385*e82f7db8SAndroid Build Coastguard Worker                    (Alt LocationOnly=7
2386*e82f7db8SAndroid Build Coastguard Worker                        "Restricts reported events to those that occur at "
2387*e82f7db8SAndroid Build Coastguard Worker                        "the given location. "
2388*e82f7db8SAndroid Build Coastguard Worker                        "This modifier can be used with "
2389*e82f7db8SAndroid Build Coastguard Worker                        "breakpoint, field access, field modification, "
2390*e82f7db8SAndroid Build Coastguard Worker                        "step, and exception event kinds. "
2391*e82f7db8SAndroid Build Coastguard Worker
2392*e82f7db8SAndroid Build Coastguard Worker                        (location loc "Required location")
2393*e82f7db8SAndroid Build Coastguard Worker                    )
2394*e82f7db8SAndroid Build Coastguard Worker                    (Alt ExceptionOnly=8
2395*e82f7db8SAndroid Build Coastguard Worker                        "Restricts reported exceptions by their class and "
2396*e82f7db8SAndroid Build Coastguard Worker                        "whether they are caught or uncaught. "
2397*e82f7db8SAndroid Build Coastguard Worker                        "This modifier can be used with "
2398*e82f7db8SAndroid Build Coastguard Worker                        "exception event kinds only. "
2399*e82f7db8SAndroid Build Coastguard Worker
2400*e82f7db8SAndroid Build Coastguard Worker                        (referenceType exceptionOrNull
2401*e82f7db8SAndroid Build Coastguard Worker                                "Exception to report. Null (0) means report "
2402*e82f7db8SAndroid Build Coastguard Worker                                "exceptions of all types. "
2403*e82f7db8SAndroid Build Coastguard Worker                                "A non-null type restricts the reported exception "
2404*e82f7db8SAndroid Build Coastguard Worker                                "events to exceptions of the given type or "
2405*e82f7db8SAndroid Build Coastguard Worker                                "any of its subtypes. "
2406*e82f7db8SAndroid Build Coastguard Worker                        )
2407*e82f7db8SAndroid Build Coastguard Worker                        (boolean caught "Report caught exceptions")
2408*e82f7db8SAndroid Build Coastguard Worker                        (boolean uncaught "Report uncaught exceptions. "
2409*e82f7db8SAndroid Build Coastguard Worker                                "Note that it "
2410*e82f7db8SAndroid Build Coastguard Worker                                "is not always possible to determine whether an "
2411*e82f7db8SAndroid Build Coastguard Worker                                "exception is caught or uncaught at the time it is "
2412*e82f7db8SAndroid Build Coastguard Worker                                "thrown. See the exception event catch location under "
2413*e82f7db8SAndroid Build Coastguard Worker                                "<a href=\"#JDWP_Event_Composite\">composite events</a> "
2414*e82f7db8SAndroid Build Coastguard Worker                                "for more information. "
2415*e82f7db8SAndroid Build Coastguard Worker                        )
2416*e82f7db8SAndroid Build Coastguard Worker
2417*e82f7db8SAndroid Build Coastguard Worker                    )
2418*e82f7db8SAndroid Build Coastguard Worker                    (Alt FieldOnly=9
2419*e82f7db8SAndroid Build Coastguard Worker                        "Restricts reported events to those that occur for "
2420*e82f7db8SAndroid Build Coastguard Worker                        "a given field. "
2421*e82f7db8SAndroid Build Coastguard Worker                        "This modifier can be used with "
2422*e82f7db8SAndroid Build Coastguard Worker                        "field access and field modification event kinds only. "
2423*e82f7db8SAndroid Build Coastguard Worker
2424*e82f7db8SAndroid Build Coastguard Worker                        (referenceType declaring "Type in which field is declared.")
2425*e82f7db8SAndroid Build Coastguard Worker                        (field fieldID "Required field")
2426*e82f7db8SAndroid Build Coastguard Worker                    )
2427*e82f7db8SAndroid Build Coastguard Worker                    (Alt Step=10
2428*e82f7db8SAndroid Build Coastguard Worker                        "Restricts reported step events "
2429*e82f7db8SAndroid Build Coastguard Worker                        "to those which satisfy "
2430*e82f7db8SAndroid Build Coastguard Worker                        "depth and size constraints. "
2431*e82f7db8SAndroid Build Coastguard Worker                        "This modifier can be used with "
2432*e82f7db8SAndroid Build Coastguard Worker                        "step event kinds only. "
2433*e82f7db8SAndroid Build Coastguard Worker
2434*e82f7db8SAndroid Build Coastguard Worker                        (threadObject thread "Thread in which to step")
2435*e82f7db8SAndroid Build Coastguard Worker                        (int size "size of each step. "
2436*e82f7db8SAndroid Build Coastguard Worker                           "See <a href=\"#JDWP_StepSize\">JDWP.StepSize</a>")
2437*e82f7db8SAndroid Build Coastguard Worker                        (int depth "relative call stack limit. "
2438*e82f7db8SAndroid Build Coastguard Worker                           "See <a href=\"#JDWP_StepDepth\">JDWP.StepDepth</a>")
2439*e82f7db8SAndroid Build Coastguard Worker                    )
2440*e82f7db8SAndroid Build Coastguard Worker                    (Alt InstanceOnly=11
2441*e82f7db8SAndroid Build Coastguard Worker                        "Restricts reported events to those whose "
2442*e82f7db8SAndroid Build Coastguard Worker                        "active 'this' object is the given object. "
2443*e82f7db8SAndroid Build Coastguard Worker                        "Match value is the null object for static methods. "
2444*e82f7db8SAndroid Build Coastguard Worker                        "This modifier can be used with any event kind "
2445*e82f7db8SAndroid Build Coastguard Worker                        "except class prepare, class unload, thread start, "
2446*e82f7db8SAndroid Build Coastguard Worker                        "and thread end. Introduced in JDWP version 1.4."
2447*e82f7db8SAndroid Build Coastguard Worker
2448*e82f7db8SAndroid Build Coastguard Worker                        (object instance "Required 'this' object")
2449*e82f7db8SAndroid Build Coastguard Worker                    )
2450*e82f7db8SAndroid Build Coastguard Worker                    (Alt SourceNameMatch=12
2451*e82f7db8SAndroid Build Coastguard Worker                        "Restricts reported class prepare events to those "
2452*e82f7db8SAndroid Build Coastguard Worker                        "for reference types which have a source name "
2453*e82f7db8SAndroid Build Coastguard Worker                        "which matches the given restricted regular expression. "
2454*e82f7db8SAndroid Build Coastguard Worker                        "The source names are determined by the reference type's "
2455*e82f7db8SAndroid Build Coastguard Worker                        "<a href=\"#JDWP_ReferenceType_SourceDebugExtension\"> "
2456*e82f7db8SAndroid Build Coastguard Worker                        "SourceDebugExtension</a>. "
2457*e82f7db8SAndroid Build Coastguard Worker                        "This modifier can only be used with class prepare "
2458*e82f7db8SAndroid Build Coastguard Worker                        "events. "
2459*e82f7db8SAndroid Build Coastguard Worker                        "Since JDWP version 1.6. Requires the canUseSourceNameFilters "
2460*e82f7db8SAndroid Build Coastguard Worker                        "capability - see "
2461*e82f7db8SAndroid Build Coastguard Worker                        "<a href=\"#JDWP_VirtualMachine_CapabilitiesNew\">CapabilitiesNew</a>."
2462*e82f7db8SAndroid Build Coastguard Worker
2463*e82f7db8SAndroid Build Coastguard Worker                        (string sourceNamePattern "Required source name pattern. "
2464*e82f7db8SAndroid Build Coastguard Worker                                "Matches are limited to exact matches of the "
2465*e82f7db8SAndroid Build Coastguard Worker                                "given pattern and matches of patterns that "
2466*e82f7db8SAndroid Build Coastguard Worker                                "begin or end with '*'; for example, "
2467*e82f7db8SAndroid Build Coastguard Worker                                "\"*.Foo\" or \"java.*\". "
2468*e82f7db8SAndroid Build Coastguard Worker                        )
2469*e82f7db8SAndroid Build Coastguard Worker                    )
2470*e82f7db8SAndroid Build Coastguard Worker
2471*e82f7db8SAndroid Build Coastguard Worker                )
2472*e82f7db8SAndroid Build Coastguard Worker            )
2473*e82f7db8SAndroid Build Coastguard Worker        )
2474*e82f7db8SAndroid Build Coastguard Worker        (Reply
2475*e82f7db8SAndroid Build Coastguard Worker            (int requestID "ID of created request")
2476*e82f7db8SAndroid Build Coastguard Worker        )
2477*e82f7db8SAndroid Build Coastguard Worker        (ErrorSet
2478*e82f7db8SAndroid Build Coastguard Worker            (Error INVALID_THREAD)
2479*e82f7db8SAndroid Build Coastguard Worker            (Error INVALID_CLASS)
2480*e82f7db8SAndroid Build Coastguard Worker            (Error INVALID_STRING)
2481*e82f7db8SAndroid Build Coastguard Worker            (Error INVALID_OBJECT)
2482*e82f7db8SAndroid Build Coastguard Worker            (Error INVALID_COUNT)
2483*e82f7db8SAndroid Build Coastguard Worker            (Error INVALID_FIELDID)
2484*e82f7db8SAndroid Build Coastguard Worker            (Error INVALID_METHODID)
2485*e82f7db8SAndroid Build Coastguard Worker            (Error INVALID_LOCATION)
2486*e82f7db8SAndroid Build Coastguard Worker            (Error INVALID_EVENT_TYPE)
2487*e82f7db8SAndroid Build Coastguard Worker            (Error NOT_IMPLEMENTED)
2488*e82f7db8SAndroid Build Coastguard Worker            (Error VM_DEAD)
2489*e82f7db8SAndroid Build Coastguard Worker        )
2490*e82f7db8SAndroid Build Coastguard Worker    )
2491*e82f7db8SAndroid Build Coastguard Worker    (Command Clear=2
2492*e82f7db8SAndroid Build Coastguard Worker        "Clear an event request. See <a href=\"#JDWP_EventKind\">JDWP.EventKind</a> "
2493*e82f7db8SAndroid Build Coastguard Worker        "for a complete list of events that can be cleared. Only the event request matching "
2494*e82f7db8SAndroid Build Coastguard Worker        "the specified event kind and requestID is cleared. If there isn't a matching event "
2495*e82f7db8SAndroid Build Coastguard Worker        "request the command is a no-op and does not result in an error. Automatically "
2496*e82f7db8SAndroid Build Coastguard Worker        "generated events do not have a corresponding event request and may not be cleared "
2497*e82f7db8SAndroid Build Coastguard Worker        "using this command."
2498*e82f7db8SAndroid Build Coastguard Worker        (Out
2499*e82f7db8SAndroid Build Coastguard Worker            (byte eventKind "Event kind to clear")
2500*e82f7db8SAndroid Build Coastguard Worker            (int requestID "ID of request to clear")
2501*e82f7db8SAndroid Build Coastguard Worker        )
2502*e82f7db8SAndroid Build Coastguard Worker        (Reply "none"
2503*e82f7db8SAndroid Build Coastguard Worker        )
2504*e82f7db8SAndroid Build Coastguard Worker        (ErrorSet
2505*e82f7db8SAndroid Build Coastguard Worker            (Error VM_DEAD)
2506*e82f7db8SAndroid Build Coastguard Worker            (Error INVALID_EVENT_TYPE)
2507*e82f7db8SAndroid Build Coastguard Worker        )
2508*e82f7db8SAndroid Build Coastguard Worker    )
2509*e82f7db8SAndroid Build Coastguard Worker    (Command ClearAllBreakpoints=3
2510*e82f7db8SAndroid Build Coastguard Worker        "Removes all set breakpoints, a no-op if there are no breakpoints set."
2511*e82f7db8SAndroid Build Coastguard Worker        (Out "none"
2512*e82f7db8SAndroid Build Coastguard Worker        )
2513*e82f7db8SAndroid Build Coastguard Worker        (Reply "none"
2514*e82f7db8SAndroid Build Coastguard Worker        )
2515*e82f7db8SAndroid Build Coastguard Worker        (ErrorSet
2516*e82f7db8SAndroid Build Coastguard Worker            (Error VM_DEAD)
2517*e82f7db8SAndroid Build Coastguard Worker        )
2518*e82f7db8SAndroid Build Coastguard Worker    )
2519*e82f7db8SAndroid Build Coastguard Worker)
2520*e82f7db8SAndroid Build Coastguard Worker(CommandSet StackFrame=16
2521*e82f7db8SAndroid Build Coastguard Worker    (Command GetValues=1
2522*e82f7db8SAndroid Build Coastguard Worker        "Returns the value of one or more local variables in a "
2523*e82f7db8SAndroid Build Coastguard Worker        "given frame. Each variable must be visible at the frame's code index. "
2524*e82f7db8SAndroid Build Coastguard Worker        "Even if local variable information is not available, values can "
2525*e82f7db8SAndroid Build Coastguard Worker        "be retrieved if the front-end is able to "
2526*e82f7db8SAndroid Build Coastguard Worker        "determine the correct local variable index. (Typically, this "
2527*e82f7db8SAndroid Build Coastguard Worker        "index can be determined for method arguments from the method "
2528*e82f7db8SAndroid Build Coastguard Worker        "signature without access to the local variable table information.) "
2529*e82f7db8SAndroid Build Coastguard Worker        (Out
2530*e82f7db8SAndroid Build Coastguard Worker            (threadObject thread "The frame's thread. ")
2531*e82f7db8SAndroid Build Coastguard Worker            (frame frame "The frame ID. ")
2532*e82f7db8SAndroid Build Coastguard Worker            (Repeat slots "The number of values to get. "
2533*e82f7db8SAndroid Build Coastguard Worker                (Group SlotInfo
2534*e82f7db8SAndroid Build Coastguard Worker                    (int slot "The local variable's index in the frame. ")
2535*e82f7db8SAndroid Build Coastguard Worker                    (byte sigbyte "A <a href=\"#JDWP_Tag\">tag</a> "
2536*e82f7db8SAndroid Build Coastguard Worker                                  "identifying the type of the variable ")
2537*e82f7db8SAndroid Build Coastguard Worker                )
2538*e82f7db8SAndroid Build Coastguard Worker            )
2539*e82f7db8SAndroid Build Coastguard Worker        )
2540*e82f7db8SAndroid Build Coastguard Worker        (Reply
2541*e82f7db8SAndroid Build Coastguard Worker            (Repeat values "The number of values retrieved, always equal to slots, "
2542*e82f7db8SAndroid Build Coastguard Worker                           "the number of values to get."
2543*e82f7db8SAndroid Build Coastguard Worker                (value slotValue "The value of the local variable. ")
2544*e82f7db8SAndroid Build Coastguard Worker            )
2545*e82f7db8SAndroid Build Coastguard Worker        )
2546*e82f7db8SAndroid Build Coastguard Worker        (ErrorSet
2547*e82f7db8SAndroid Build Coastguard Worker            (Error INVALID_THREAD)
2548*e82f7db8SAndroid Build Coastguard Worker            (Error INVALID_OBJECT)
2549*e82f7db8SAndroid Build Coastguard Worker            (Error INVALID_FRAMEID)
2550*e82f7db8SAndroid Build Coastguard Worker            (Error INVALID_SLOT)
2551*e82f7db8SAndroid Build Coastguard Worker            (Error VM_DEAD)
2552*e82f7db8SAndroid Build Coastguard Worker        )
2553*e82f7db8SAndroid Build Coastguard Worker    )
2554*e82f7db8SAndroid Build Coastguard Worker    (Command SetValues=2
2555*e82f7db8SAndroid Build Coastguard Worker        "Sets the value of one or more local variables. "
2556*e82f7db8SAndroid Build Coastguard Worker        "Each variable must be visible at the current frame code index. "
2557*e82f7db8SAndroid Build Coastguard Worker        "For primitive values, the value's type must match the "
2558*e82f7db8SAndroid Build Coastguard Worker        "variable's type exactly. For object values, there must be a "
2559*e82f7db8SAndroid Build Coastguard Worker        "widening reference conversion from the value's type to the
2560*e82f7db8SAndroid Build Coastguard Worker        "variable's type and the variable's type must be loaded. "
2561*e82f7db8SAndroid Build Coastguard Worker        "<p>"
2562*e82f7db8SAndroid Build Coastguard Worker        "Even if local variable information is not available, values can "
2563*e82f7db8SAndroid Build Coastguard Worker        "be set, if the front-end is able to "
2564*e82f7db8SAndroid Build Coastguard Worker        "determine the correct local variable index. (Typically, this
2565*e82f7db8SAndroid Build Coastguard Worker        "index can be determined for method arguments from the method "
2566*e82f7db8SAndroid Build Coastguard Worker        "signature without access to the local variable table information.) "
2567*e82f7db8SAndroid Build Coastguard Worker        (Out
2568*e82f7db8SAndroid Build Coastguard Worker            (threadObject thread "The frame's thread. ")
2569*e82f7db8SAndroid Build Coastguard Worker            (frame frame "The frame ID. ")
2570*e82f7db8SAndroid Build Coastguard Worker            (Repeat slotValues "The number of values to set. "
2571*e82f7db8SAndroid Build Coastguard Worker                (Group SlotInfo
2572*e82f7db8SAndroid Build Coastguard Worker                    (int slot "The slot ID. ")
2573*e82f7db8SAndroid Build Coastguard Worker                    (value slotValue "The value to set. ")
2574*e82f7db8SAndroid Build Coastguard Worker                )
2575*e82f7db8SAndroid Build Coastguard Worker            )
2576*e82f7db8SAndroid Build Coastguard Worker        )
2577*e82f7db8SAndroid Build Coastguard Worker        (Reply "none"
2578*e82f7db8SAndroid Build Coastguard Worker        )
2579*e82f7db8SAndroid Build Coastguard Worker        (ErrorSet
2580*e82f7db8SAndroid Build Coastguard Worker            (Error INVALID_THREAD)
2581*e82f7db8SAndroid Build Coastguard Worker            (Error INVALID_OBJECT)
2582*e82f7db8SAndroid Build Coastguard Worker            (Error INVALID_FRAMEID)
2583*e82f7db8SAndroid Build Coastguard Worker            (Error VM_DEAD)
2584*e82f7db8SAndroid Build Coastguard Worker        )
2585*e82f7db8SAndroid Build Coastguard Worker    )
2586*e82f7db8SAndroid Build Coastguard Worker    (Command ThisObject=3
2587*e82f7db8SAndroid Build Coastguard Worker        "Returns the value of the 'this' reference for this frame. "
2588*e82f7db8SAndroid Build Coastguard Worker        "If the frame's method is static or native, the reply "
2589*e82f7db8SAndroid Build Coastguard Worker        "will contain the null object reference. "
2590*e82f7db8SAndroid Build Coastguard Worker        (Out
2591*e82f7db8SAndroid Build Coastguard Worker            (threadObject thread "The frame's thread. ")
2592*e82f7db8SAndroid Build Coastguard Worker            (frame frame "The frame ID. ")
2593*e82f7db8SAndroid Build Coastguard Worker        )
2594*e82f7db8SAndroid Build Coastguard Worker        (Reply
2595*e82f7db8SAndroid Build Coastguard Worker            (tagged-object objectThis "The 'this' object for this frame. ")
2596*e82f7db8SAndroid Build Coastguard Worker        )
2597*e82f7db8SAndroid Build Coastguard Worker        (ErrorSet
2598*e82f7db8SAndroid Build Coastguard Worker            (Error INVALID_THREAD)
2599*e82f7db8SAndroid Build Coastguard Worker            (Error INVALID_OBJECT)
2600*e82f7db8SAndroid Build Coastguard Worker            (Error INVALID_FRAMEID)
2601*e82f7db8SAndroid Build Coastguard Worker            (Error VM_DEAD)
2602*e82f7db8SAndroid Build Coastguard Worker        )
2603*e82f7db8SAndroid Build Coastguard Worker    )
2604*e82f7db8SAndroid Build Coastguard Worker    (Command PopFrames=4
2605*e82f7db8SAndroid Build Coastguard Worker        "Pop the top-most stack frames of the thread stack, up to, and including 'frame'. "
2606*e82f7db8SAndroid Build Coastguard Worker        "The thread must be suspended to perform this command. "
2607*e82f7db8SAndroid Build Coastguard Worker        "The top-most stack frames are discarded and the stack frame previous to 'frame' "
2608*e82f7db8SAndroid Build Coastguard Worker        "becomes the current frame. The operand stack is restored -- the argument values "
2609*e82f7db8SAndroid Build Coastguard Worker        "are added back and if the invoke was not <code>invokestatic</code>, "
2610*e82f7db8SAndroid Build Coastguard Worker        "<code>objectref</code> is added back as well. The Java virtual machine "
2611*e82f7db8SAndroid Build Coastguard Worker        "program counter is restored to the opcode of the invoke instruction."
2612*e82f7db8SAndroid Build Coastguard Worker        "<p>"
2613*e82f7db8SAndroid Build Coastguard Worker        "Since JDWP version 1.4. Requires canPopFrames capability - see "
2614*e82f7db8SAndroid Build Coastguard Worker        "<a href=\"#JDWP_VirtualMachine_CapabilitiesNew\">CapabilitiesNew</a>."
2615*e82f7db8SAndroid Build Coastguard Worker        (Out
2616*e82f7db8SAndroid Build Coastguard Worker            (threadObject thread "The thread object ID. ")
2617*e82f7db8SAndroid Build Coastguard Worker            (frame frame "The frame ID. ")
2618*e82f7db8SAndroid Build Coastguard Worker        )
2619*e82f7db8SAndroid Build Coastguard Worker        (Reply "none"
2620*e82f7db8SAndroid Build Coastguard Worker        )
2621*e82f7db8SAndroid Build Coastguard Worker        (ErrorSet
2622*e82f7db8SAndroid Build Coastguard Worker            (Error INVALID_THREAD)
2623*e82f7db8SAndroid Build Coastguard Worker            (Error INVALID_OBJECT    "thread is not a known ID.")
2624*e82f7db8SAndroid Build Coastguard Worker            (Error INVALID_FRAMEID)
2625*e82f7db8SAndroid Build Coastguard Worker            (Error THREAD_NOT_SUSPENDED)
2626*e82f7db8SAndroid Build Coastguard Worker            (Error NO_MORE_FRAMES)
2627*e82f7db8SAndroid Build Coastguard Worker            (Error INVALID_FRAMEID)
2628*e82f7db8SAndroid Build Coastguard Worker            (Error NOT_IMPLEMENTED)
2629*e82f7db8SAndroid Build Coastguard Worker            (Error VM_DEAD)
2630*e82f7db8SAndroid Build Coastguard Worker        )
2631*e82f7db8SAndroid Build Coastguard Worker    )
2632*e82f7db8SAndroid Build Coastguard Worker)
2633*e82f7db8SAndroid Build Coastguard Worker(CommandSet ClassObjectReference=17
2634*e82f7db8SAndroid Build Coastguard Worker    (Command ReflectedType = 1
2635*e82f7db8SAndroid Build Coastguard Worker        "Returns the reference type reflected by this class object."
2636*e82f7db8SAndroid Build Coastguard Worker        (Out
2637*e82f7db8SAndroid Build Coastguard Worker            (classObject classObject "The class object. ")
2638*e82f7db8SAndroid Build Coastguard Worker        )
2639*e82f7db8SAndroid Build Coastguard Worker        (Reply
2640*e82f7db8SAndroid Build Coastguard Worker            (byte refTypeTag  "<a href=\"#JDWP_TypeTag\">Kind</a> "
2641*e82f7db8SAndroid Build Coastguard Worker                              "of following reference type. ")
2642*e82f7db8SAndroid Build Coastguard Worker            (referenceTypeID typeID "reflected reference type")
2643*e82f7db8SAndroid Build Coastguard Worker        )
2644*e82f7db8SAndroid Build Coastguard Worker        (ErrorSet
2645*e82f7db8SAndroid Build Coastguard Worker            (Error INVALID_OBJECT)
2646*e82f7db8SAndroid Build Coastguard Worker            (Error VM_DEAD)
2647*e82f7db8SAndroid Build Coastguard Worker        )
2648*e82f7db8SAndroid Build Coastguard Worker    )
2649*e82f7db8SAndroid Build Coastguard Worker)
2650*e82f7db8SAndroid Build Coastguard Worker(CommandSet Event=64
2651*e82f7db8SAndroid Build Coastguard Worker    (Command Composite=100
2652*e82f7db8SAndroid Build Coastguard Worker        "Several events may occur at a given time in the target VM. "
2653*e82f7db8SAndroid Build Coastguard Worker        "For example, there may be more than one breakpoint request "
2654*e82f7db8SAndroid Build Coastguard Worker        "for a given location "
2655*e82f7db8SAndroid Build Coastguard Worker        "or you might single step to the same location as a "
2656*e82f7db8SAndroid Build Coastguard Worker        "breakpoint request.  These events are delivered "
2657*e82f7db8SAndroid Build Coastguard Worker        "together as a composite event.  For uniformity, a "
2658*e82f7db8SAndroid Build Coastguard Worker        "composite event is always used "
2659*e82f7db8SAndroid Build Coastguard Worker        "to deliver events, even if there is only one event to report. "
2660*e82f7db8SAndroid Build Coastguard Worker        "<P>"
2661*e82f7db8SAndroid Build Coastguard Worker        "The events that are grouped in a composite event are restricted in the "
2662*e82f7db8SAndroid Build Coastguard Worker        "following ways: "
2663*e82f7db8SAndroid Build Coastguard Worker        "<P>"
2664*e82f7db8SAndroid Build Coastguard Worker        "<UL>"
2665*e82f7db8SAndroid Build Coastguard Worker        "<LI>Only with other thread start events for the same thread:"
2666*e82f7db8SAndroid Build Coastguard Worker        "    <UL>"
2667*e82f7db8SAndroid Build Coastguard Worker        "    <LI>Thread Start Event"
2668*e82f7db8SAndroid Build Coastguard Worker        "    </UL>"
2669*e82f7db8SAndroid Build Coastguard Worker        "<LI>Only with other thread death events for the same thread:"
2670*e82f7db8SAndroid Build Coastguard Worker        "    <UL>"
2671*e82f7db8SAndroid Build Coastguard Worker        "    <LI>Thread Death Event"
2672*e82f7db8SAndroid Build Coastguard Worker        "    </UL>"
2673*e82f7db8SAndroid Build Coastguard Worker        "<LI>Only with other class prepare events for the same class:"
2674*e82f7db8SAndroid Build Coastguard Worker        "    <UL>"
2675*e82f7db8SAndroid Build Coastguard Worker        "    <LI>Class Prepare Event"
2676*e82f7db8SAndroid Build Coastguard Worker        "    </UL>"
2677*e82f7db8SAndroid Build Coastguard Worker        "<LI>Only with other class unload events for the same class:"
2678*e82f7db8SAndroid Build Coastguard Worker        "    <UL>"
2679*e82f7db8SAndroid Build Coastguard Worker        "    <LI>Class Unload Event"
2680*e82f7db8SAndroid Build Coastguard Worker        "    </UL>"
2681*e82f7db8SAndroid Build Coastguard Worker        "<LI>Only with other access watchpoint events for the same field access:"
2682*e82f7db8SAndroid Build Coastguard Worker        "    <UL>"
2683*e82f7db8SAndroid Build Coastguard Worker        "    <LI>Access Watchpoint Event"
2684*e82f7db8SAndroid Build Coastguard Worker        "    </UL>"
2685*e82f7db8SAndroid Build Coastguard Worker        "<LI>Only with other modification watchpoint events for the same field "
2686*e82f7db8SAndroid Build Coastguard Worker        "modification:"
2687*e82f7db8SAndroid Build Coastguard Worker        "    <UL>"
2688*e82f7db8SAndroid Build Coastguard Worker        "    <LI>Modification Watchpoint Event"
2689*e82f7db8SAndroid Build Coastguard Worker        "    </UL>"
2690*e82f7db8SAndroid Build Coastguard Worker        "<LI>Only with other Monitor contended enter events for the same monitor object: "
2691*e82f7db8SAndroid Build Coastguard Worker        "    <UL>"
2692*e82f7db8SAndroid Build Coastguard Worker        "    <LI>Monitor Contended Enter Event"
2693*e82f7db8SAndroid Build Coastguard Worker        "    </UL>"
2694*e82f7db8SAndroid Build Coastguard Worker        "<LI>Only with other Monitor contended entered events for the same monitor object: "
2695*e82f7db8SAndroid Build Coastguard Worker        "    <UL>"
2696*e82f7db8SAndroid Build Coastguard Worker        "    <LI>Monitor Contended Entered Event"
2697*e82f7db8SAndroid Build Coastguard Worker        "    </UL>"
2698*e82f7db8SAndroid Build Coastguard Worker        "<LI>Only with other Monitor wait events for the same monitor object: "
2699*e82f7db8SAndroid Build Coastguard Worker        "    <UL>"
2700*e82f7db8SAndroid Build Coastguard Worker        "    <LI>Monitor Wait Event"
2701*e82f7db8SAndroid Build Coastguard Worker        "    </UL>"
2702*e82f7db8SAndroid Build Coastguard Worker        "<LI>Only with other Monitor waited events for the same monitor object: "
2703*e82f7db8SAndroid Build Coastguard Worker        "    <UL>"
2704*e82f7db8SAndroid Build Coastguard Worker        "    <LI>Monitor Waited Event"
2705*e82f7db8SAndroid Build Coastguard Worker        "    </UL>"
2706*e82f7db8SAndroid Build Coastguard Worker        "<LI>Only with other ExceptionEvents for the same exception occurrance:"
2707*e82f7db8SAndroid Build Coastguard Worker        "    <UL>"
2708*e82f7db8SAndroid Build Coastguard Worker        "    <LI>ExceptionEvent"
2709*e82f7db8SAndroid Build Coastguard Worker        "    </UL>"
2710*e82f7db8SAndroid Build Coastguard Worker        "<LI>Only with other members of this group, at the same location "
2711*e82f7db8SAndroid Build Coastguard Worker        "and in the same thread: "
2712*e82f7db8SAndroid Build Coastguard Worker        "    <UL>"
2713*e82f7db8SAndroid Build Coastguard Worker        "    <LI>Breakpoint Event"
2714*e82f7db8SAndroid Build Coastguard Worker        "    <LI>Step Event"
2715*e82f7db8SAndroid Build Coastguard Worker        "    <LI>Method Entry Event"
2716*e82f7db8SAndroid Build Coastguard Worker        "    <LI>Method Exit Event"
2717*e82f7db8SAndroid Build Coastguard Worker        "    </UL>"
2718*e82f7db8SAndroid Build Coastguard Worker        "</UL>"
2719*e82f7db8SAndroid Build Coastguard Worker        "<P>"
2720*e82f7db8SAndroid Build Coastguard Worker        "The VM Start Event and VM Death Event are automatically generated events. "
2721*e82f7db8SAndroid Build Coastguard Worker        "This means they do not need to be requested using the "
2722*e82f7db8SAndroid Build Coastguard Worker        "<a href=\"#JDWP_EventRequest_Set\">EventRequest.Set</a> command. "
2723*e82f7db8SAndroid Build Coastguard Worker        "The VM Start event signals the completion of VM initialization. The VM Death "
2724*e82f7db8SAndroid Build Coastguard Worker        "event signals the termination of the VM."
2725*e82f7db8SAndroid Build Coastguard Worker        "If there is a debugger connected at the time when an automatically generated "
2726*e82f7db8SAndroid Build Coastguard Worker        "event occurs it is sent from the target VM. Automatically generated events may "
2727*e82f7db8SAndroid Build Coastguard Worker        "also be requested using the EventRequest.Set command and thus multiple events "
2728*e82f7db8SAndroid Build Coastguard Worker        "of the same event kind will be sent from the target VM when an event occurs."
2729*e82f7db8SAndroid Build Coastguard Worker        "Automatically generated events are sent with the requestID field "
2730*e82f7db8SAndroid Build Coastguard Worker        "in the Event Data set to 0. The value of the suspendPolicy field in the "
2731*e82f7db8SAndroid Build Coastguard Worker        "Event Data depends on the event. For the automatically generated VM Start "
2732*e82f7db8SAndroid Build Coastguard Worker        "Event the value of suspendPolicy is not defined and is therefore implementation "
2733*e82f7db8SAndroid Build Coastguard Worker        "or configuration specific. In the Sun implementation, for example, the "
2734*e82f7db8SAndroid Build Coastguard Worker        "suspendPolicy is specified as an option to the JDWP agent at launch-time."
2735*e82f7db8SAndroid Build Coastguard Worker        "The automatically generated VM Death Event will have the suspendPolicy set to "
2736*e82f7db8SAndroid Build Coastguard Worker        "NONE."
2737*e82f7db8SAndroid Build Coastguard Worker
2738*e82f7db8SAndroid Build Coastguard Worker       (Event "Generated event"
2739*e82f7db8SAndroid Build Coastguard Worker            (byte suspendPolicy
2740*e82f7db8SAndroid Build Coastguard Worker                "Which threads where suspended by this composite event?")
2741*e82f7db8SAndroid Build Coastguard Worker            (Repeat events "Events in set."
2742*e82f7db8SAndroid Build Coastguard Worker                (Select Events
2743*e82f7db8SAndroid Build Coastguard Worker                    (byte eventKind "Event kind selector")
2744*e82f7db8SAndroid Build Coastguard Worker                    (Alt VMStart=JDWP.EventKind.VM_START
2745*e82f7db8SAndroid Build Coastguard Worker                        "Notification of initialization of a target VM.  This event is "
2746*e82f7db8SAndroid Build Coastguard Worker                        "received before the main thread is started and before any "
2747*e82f7db8SAndroid Build Coastguard Worker                        "application code has been executed. Before this event occurs "
2748*e82f7db8SAndroid Build Coastguard Worker                        "a significant amount of system code has executed and a number "
2749*e82f7db8SAndroid Build Coastguard Worker                        "of system classes have been loaded. "
2750*e82f7db8SAndroid Build Coastguard Worker                        "This event is always generated by the target VM, even "
2751*e82f7db8SAndroid Build Coastguard Worker                        "if not explicitly requested."
2752*e82f7db8SAndroid Build Coastguard Worker
2753*e82f7db8SAndroid Build Coastguard Worker                     (int requestID
2754*e82f7db8SAndroid Build Coastguard Worker                             "Request that generated event (or 0 if this "
2755*e82f7db8SAndroid Build Coastguard Worker                             "event is automatically generated.")
2756*e82f7db8SAndroid Build Coastguard Worker                        (threadObject thread "Initial thread")
2757*e82f7db8SAndroid Build Coastguard Worker                    )
2758*e82f7db8SAndroid Build Coastguard Worker                    (Alt SingleStep=JDWP.EventKind.SINGLE_STEP
2759*e82f7db8SAndroid Build Coastguard Worker                        "Notification of step completion in the target VM. The step event "
2760*e82f7db8SAndroid Build Coastguard Worker                        "is generated before the code at its location is executed. "
2761*e82f7db8SAndroid Build Coastguard Worker
2762*e82f7db8SAndroid Build Coastguard Worker                        (int requestID "Request that generated event")
2763*e82f7db8SAndroid Build Coastguard Worker                        (threadObject thread "Stepped thread")
2764*e82f7db8SAndroid Build Coastguard Worker                        (location location "Location stepped to")
2765*e82f7db8SAndroid Build Coastguard Worker                    )
2766*e82f7db8SAndroid Build Coastguard Worker                    (Alt Breakpoint=JDWP.EventKind.BREAKPOINT
2767*e82f7db8SAndroid Build Coastguard Worker                        "Notification of a breakpoint in the target VM. The breakpoint event "
2768*e82f7db8SAndroid Build Coastguard Worker                        "is generated before the code at its location is executed. "
2769*e82f7db8SAndroid Build Coastguard Worker
2770*e82f7db8SAndroid Build Coastguard Worker                        (int requestID "Request that generated event")
2771*e82f7db8SAndroid Build Coastguard Worker                        (threadObject thread "Thread which hit breakpoint")
2772*e82f7db8SAndroid Build Coastguard Worker                        (location location "Location hit")
2773*e82f7db8SAndroid Build Coastguard Worker                    )
2774*e82f7db8SAndroid Build Coastguard Worker                    (Alt MethodEntry=JDWP.EventKind.METHOD_ENTRY
2775*e82f7db8SAndroid Build Coastguard Worker                         "Notification of a method invocation in the target VM. This event "
2776*e82f7db8SAndroid Build Coastguard Worker                         "is generated before any code in the invoked method has executed. "
2777*e82f7db8SAndroid Build Coastguard Worker                         "Method entry events are generated for both native and non-native "
2778*e82f7db8SAndroid Build Coastguard Worker                         "methods. "
2779*e82f7db8SAndroid Build Coastguard Worker                         "<P>"
2780*e82f7db8SAndroid Build Coastguard Worker                         "In some VMs method entry events can occur for a particular thread "
2781*e82f7db8SAndroid Build Coastguard Worker                         "before its thread start event occurs if methods are called "
2782*e82f7db8SAndroid Build Coastguard Worker                         "as part of the thread's initialization. "
2783*e82f7db8SAndroid Build Coastguard Worker
2784*e82f7db8SAndroid Build Coastguard Worker                        (int requestID "Request that generated event")
2785*e82f7db8SAndroid Build Coastguard Worker                        (threadObject thread "Thread which entered method")
2786*e82f7db8SAndroid Build Coastguard Worker                        (location location "The initial executable location in the method.")
2787*e82f7db8SAndroid Build Coastguard Worker                    )
2788*e82f7db8SAndroid Build Coastguard Worker                    (Alt MethodExit=JDWP.EventKind.METHOD_EXIT
2789*e82f7db8SAndroid Build Coastguard Worker                         "Notification of a method return in the target VM. This event "
2790*e82f7db8SAndroid Build Coastguard Worker                         "is generated after all code in the method has executed, but the "
2791*e82f7db8SAndroid Build Coastguard Worker                         "location of this event is the last executed location in the method. "
2792*e82f7db8SAndroid Build Coastguard Worker                         "Method exit events are generated for both native and non-native "
2793*e82f7db8SAndroid Build Coastguard Worker                         "methods. Method exit events are not generated if the method terminates "
2794*e82f7db8SAndroid Build Coastguard Worker                         "with a thrown exception. "
2795*e82f7db8SAndroid Build Coastguard Worker
2796*e82f7db8SAndroid Build Coastguard Worker                        (int requestID "Request that generated event")
2797*e82f7db8SAndroid Build Coastguard Worker                        (threadObject thread "Thread which exited method")
2798*e82f7db8SAndroid Build Coastguard Worker                        (location location "Location of exit")
2799*e82f7db8SAndroid Build Coastguard Worker                    )
2800*e82f7db8SAndroid Build Coastguard Worker                    (Alt MethodExitWithReturnValue=JDWP.EventKind.METHOD_EXIT_WITH_RETURN_VALUE
2801*e82f7db8SAndroid Build Coastguard Worker                         "Notification of a method return in the target VM. This event "
2802*e82f7db8SAndroid Build Coastguard Worker                         "is generated after all code in the method has executed, but the "
2803*e82f7db8SAndroid Build Coastguard Worker                         "location of this event is the last executed location in the method. "
2804*e82f7db8SAndroid Build Coastguard Worker                         "Method exit events are generated for both native and non-native "
2805*e82f7db8SAndroid Build Coastguard Worker                         "methods. Method exit events are not generated if the method terminates "
2806*e82f7db8SAndroid Build Coastguard Worker                         "with a thrown exception. <p>Since JDWP version 1.6. "
2807*e82f7db8SAndroid Build Coastguard Worker
2808*e82f7db8SAndroid Build Coastguard Worker                        (int requestID "Request that generated event")
2809*e82f7db8SAndroid Build Coastguard Worker                        (threadObject thread "Thread which exited method")
2810*e82f7db8SAndroid Build Coastguard Worker                        (location location "Location of exit")
2811*e82f7db8SAndroid Build Coastguard Worker                        (value value "Value that will be returned by the method")
2812*e82f7db8SAndroid Build Coastguard Worker                    )
2813*e82f7db8SAndroid Build Coastguard Worker                    (Alt MonitorContendedEnter=JDWP.EventKind.MONITOR_CONTENDED_ENTER
2814*e82f7db8SAndroid Build Coastguard Worker                         "Notification that a thread in the target VM is attempting "
2815*e82f7db8SAndroid Build Coastguard Worker                         "to enter a monitor that is already acquired by another thread. "
2816*e82f7db8SAndroid Build Coastguard Worker                         "Requires canRequestMonitorEvents capability - see "
2817*e82f7db8SAndroid Build Coastguard Worker                         "<a href=\"#JDWP_VirtualMachine_CapabilitiesNew\">CapabilitiesNew</a>. "
2818*e82f7db8SAndroid Build Coastguard Worker                         "<p>Since JDWP version 1.6. "
2819*e82f7db8SAndroid Build Coastguard Worker
2820*e82f7db8SAndroid Build Coastguard Worker                        (int requestID
2821*e82f7db8SAndroid Build Coastguard Worker                                "Request that generated event")
2822*e82f7db8SAndroid Build Coastguard Worker                        (threadObject thread "Thread which is trying to enter the monitor")
2823*e82f7db8SAndroid Build Coastguard Worker                        (tagged-object object "Monitor object reference")
2824*e82f7db8SAndroid Build Coastguard Worker                        (location location "Location of contended monitor enter")
2825*e82f7db8SAndroid Build Coastguard Worker                    )
2826*e82f7db8SAndroid Build Coastguard Worker                    (Alt MonitorContendedEntered=JDWP.EventKind.MONITOR_CONTENDED_ENTERED
2827*e82f7db8SAndroid Build Coastguard Worker                         "Notification of a thread in the target VM is entering a monitor "
2828*e82f7db8SAndroid Build Coastguard Worker                         "after waiting for it to be released by another thread. "
2829*e82f7db8SAndroid Build Coastguard Worker                         "Requires canRequestMonitorEvents capability - see "
2830*e82f7db8SAndroid Build Coastguard Worker                         "<a href=\"#JDWP_VirtualMachine_CapabilitiesNew\">CapabilitiesNew</a>. "
2831*e82f7db8SAndroid Build Coastguard Worker                         "<p>Since JDWP version 1.6. "
2832*e82f7db8SAndroid Build Coastguard Worker
2833*e82f7db8SAndroid Build Coastguard Worker                        (int requestID
2834*e82f7db8SAndroid Build Coastguard Worker                                "Request that generated event")
2835*e82f7db8SAndroid Build Coastguard Worker                        (threadObject thread "Thread which entered monitor")
2836*e82f7db8SAndroid Build Coastguard Worker                        (tagged-object object "Monitor object reference")
2837*e82f7db8SAndroid Build Coastguard Worker                        (location location "Location of contended monitor enter")
2838*e82f7db8SAndroid Build Coastguard Worker                    )
2839*e82f7db8SAndroid Build Coastguard Worker                    (Alt MonitorWait=JDWP.EventKind.MONITOR_WAIT
2840*e82f7db8SAndroid Build Coastguard Worker                         "Notification of a thread about to wait on a monitor object. "
2841*e82f7db8SAndroid Build Coastguard Worker                         "Requires canRequestMonitorEvents capability - see "
2842*e82f7db8SAndroid Build Coastguard Worker                         "<a href=\"#JDWP_VirtualMachine_CapabilitiesNew\">CapabilitiesNew</a>. "
2843*e82f7db8SAndroid Build Coastguard Worker                         "<p>Since JDWP version 1.6. "
2844*e82f7db8SAndroid Build Coastguard Worker
2845*e82f7db8SAndroid Build Coastguard Worker                        (int requestID
2846*e82f7db8SAndroid Build Coastguard Worker                                "Request that generated event")
2847*e82f7db8SAndroid Build Coastguard Worker                        (threadObject thread "Thread which is about to wait")
2848*e82f7db8SAndroid Build Coastguard Worker                        (tagged-object object "Monitor object reference")
2849*e82f7db8SAndroid Build Coastguard Worker                        (location location "Location at which the wait will occur")
2850*e82f7db8SAndroid Build Coastguard Worker                        (long     timeout  "Thread wait time in milliseconds")
2851*e82f7db8SAndroid Build Coastguard Worker                    )
2852*e82f7db8SAndroid Build Coastguard Worker                    (Alt MonitorWaited=JDWP.EventKind.MONITOR_WAITED
2853*e82f7db8SAndroid Build Coastguard Worker                         "Notification that a thread in the target VM has finished waiting on "
2854*e82f7db8SAndroid Build Coastguard Worker                         "Requires canRequestMonitorEvents capability - see "
2855*e82f7db8SAndroid Build Coastguard Worker                         "<a href=\"#JDWP_VirtualMachine_CapabilitiesNew\">CapabilitiesNew</a>. "
2856*e82f7db8SAndroid Build Coastguard Worker                         "a monitor object. "
2857*e82f7db8SAndroid Build Coastguard Worker                         "<p>Since JDWP version 1.6. "
2858*e82f7db8SAndroid Build Coastguard Worker
2859*e82f7db8SAndroid Build Coastguard Worker                        (int requestID
2860*e82f7db8SAndroid Build Coastguard Worker                                "Request that generated event")
2861*e82f7db8SAndroid Build Coastguard Worker                        (threadObject thread "Thread which waited")
2862*e82f7db8SAndroid Build Coastguard Worker                        (tagged-object object "Monitor object reference")
2863*e82f7db8SAndroid Build Coastguard Worker                        (location location "Location at which the wait occured")
2864*e82f7db8SAndroid Build Coastguard Worker                        (boolean  timed_out "True if timed out")
2865*e82f7db8SAndroid Build Coastguard Worker                    )
2866*e82f7db8SAndroid Build Coastguard Worker                    (Alt Exception=JDWP.EventKind.EXCEPTION
2867*e82f7db8SAndroid Build Coastguard Worker                         "Notification of an exception in the target VM. "
2868*e82f7db8SAndroid Build Coastguard Worker                         "If the exception is thrown from a non-native method, "
2869*e82f7db8SAndroid Build Coastguard Worker                         "the exception event is generated at the location where the "
2870*e82f7db8SAndroid Build Coastguard Worker                         "exception is thrown. "
2871*e82f7db8SAndroid Build Coastguard Worker                         "If the exception is thrown from a native method, the exception event "
2872*e82f7db8SAndroid Build Coastguard Worker                         "is generated at the first non-native location reached after the exception "
2873*e82f7db8SAndroid Build Coastguard Worker                         "is thrown. "
2874*e82f7db8SAndroid Build Coastguard Worker
2875*e82f7db8SAndroid Build Coastguard Worker                        (int requestID "Request that generated event")
2876*e82f7db8SAndroid Build Coastguard Worker                        (threadObject thread "Thread with exception")
2877*e82f7db8SAndroid Build Coastguard Worker                        (location location "Location of exception throw "
2878*e82f7db8SAndroid Build Coastguard Worker                        "(or first non-native location after throw if thrown from a native method)")
2879*e82f7db8SAndroid Build Coastguard Worker                        (tagged-object exception "Thrown exception")
2880*e82f7db8SAndroid Build Coastguard Worker                        (location catchLocation
2881*e82f7db8SAndroid Build Coastguard Worker                            "Location of catch, or 0 if not caught. An exception "
2882*e82f7db8SAndroid Build Coastguard Worker                            "is considered to be caught if, at the point of the throw, the "
2883*e82f7db8SAndroid Build Coastguard Worker                            "current location is dynamically enclosed in a try statement that "
2884*e82f7db8SAndroid Build Coastguard Worker                            "handles the exception. (See the JVM specification for details). "
2885*e82f7db8SAndroid Build Coastguard Worker                            "If there is such a try statement, the catch location is the "
2886*e82f7db8SAndroid Build Coastguard Worker                            "first location in the appropriate catch clause. "
2887*e82f7db8SAndroid Build Coastguard Worker                            "<p>"
2888*e82f7db8SAndroid Build Coastguard Worker                            "If there are native methods in the call stack at the time of the "
2889*e82f7db8SAndroid Build Coastguard Worker                            "exception, there are important restrictions to note about the "
2890*e82f7db8SAndroid Build Coastguard Worker                            "returned catch location. In such cases, "
2891*e82f7db8SAndroid Build Coastguard Worker                            "it is not possible to predict whether an exception will be handled "
2892*e82f7db8SAndroid Build Coastguard Worker                            "by some native method on the call stack. "
2893*e82f7db8SAndroid Build Coastguard Worker                            "Thus, it is possible that exceptions considered uncaught "
2894*e82f7db8SAndroid Build Coastguard Worker                            "here will, in fact, be handled by a native method and not cause "
2895*e82f7db8SAndroid Build Coastguard Worker                            "termination of the target VM. Furthermore, it cannot be assumed that the "
2896*e82f7db8SAndroid Build Coastguard Worker                            "catch location returned here will ever be reached by the throwing "
2897*e82f7db8SAndroid Build Coastguard Worker                            "thread. If there is "
2898*e82f7db8SAndroid Build Coastguard Worker                            "a native frame between the current location and the catch location, "
2899*e82f7db8SAndroid Build Coastguard Worker                            "the exception might be handled and cleared in that native method "
2900*e82f7db8SAndroid Build Coastguard Worker                            "instead. "
2901*e82f7db8SAndroid Build Coastguard Worker                            "<p>"
2902*e82f7db8SAndroid Build Coastguard Worker                            "Note that compilers can generate try-catch blocks in some cases "
2903*e82f7db8SAndroid Build Coastguard Worker                            "where they are not explicit in the source code; for example, "
2904*e82f7db8SAndroid Build Coastguard Worker                            "the code generated for <code>synchronized</code> and "
2905*e82f7db8SAndroid Build Coastguard Worker                            "<code>finally</code> blocks can contain implicit try-catch blocks. "
2906*e82f7db8SAndroid Build Coastguard Worker                            "If such an implicitly generated try-catch is "
2907*e82f7db8SAndroid Build Coastguard Worker                            "present on the call stack at the time of the throw, the exception "
2908*e82f7db8SAndroid Build Coastguard Worker                            "will be considered caught even though it appears to be uncaught from "
2909*e82f7db8SAndroid Build Coastguard Worker                            "examination of the source code. "
2910*e82f7db8SAndroid Build Coastguard Worker                        )
2911*e82f7db8SAndroid Build Coastguard Worker                    )
2912*e82f7db8SAndroid Build Coastguard Worker                    (Alt ThreadStart=JDWP.EventKind.THREAD_START
2913*e82f7db8SAndroid Build Coastguard Worker                        "Notification of a new running thread in the target VM. "
2914*e82f7db8SAndroid Build Coastguard Worker                        "The new thread can be the result of a call to "
2915*e82f7db8SAndroid Build Coastguard Worker                        "<code>java.lang.Thread.start</code> or the result of "
2916*e82f7db8SAndroid Build Coastguard Worker                        "attaching a new thread to the VM though JNI. The "
2917*e82f7db8SAndroid Build Coastguard Worker                        "notification is generated by the new thread some time before "
2918*e82f7db8SAndroid Build Coastguard Worker                        "its execution starts. "
2919*e82f7db8SAndroid Build Coastguard Worker                        "Because of this timing, it is possible to receive other events "
2920*e82f7db8SAndroid Build Coastguard Worker                        "for the thread before this event is received. (Notably, "
2921*e82f7db8SAndroid Build Coastguard Worker                        "Method Entry Events and Method Exit Events might occur "
2922*e82f7db8SAndroid Build Coastguard Worker                        "during thread initialization. "
2923*e82f7db8SAndroid Build Coastguard Worker                        "It is also possible for the "
2924*e82f7db8SAndroid Build Coastguard Worker                        "<a href=\"#JDWP_VirtualMachine_AllThreads\">VirtualMachine AllThreads</a> "
2925*e82f7db8SAndroid Build Coastguard Worker                        "command to return "
2926*e82f7db8SAndroid Build Coastguard Worker                        "a thread before its thread start event is received. "
2927*e82f7db8SAndroid Build Coastguard Worker                        "<p>"
2928*e82f7db8SAndroid Build Coastguard Worker                        "Note that this event gives no information "
2929*e82f7db8SAndroid Build Coastguard Worker                        "about the creation of the thread object which may have happened "
2930*e82f7db8SAndroid Build Coastguard Worker                        "much earlier, depending on the VM being debugged. "
2931*e82f7db8SAndroid Build Coastguard Worker
2932*e82f7db8SAndroid Build Coastguard Worker                        (int requestID "Request that generated event")
2933*e82f7db8SAndroid Build Coastguard Worker                        (threadObject thread "Started thread")
2934*e82f7db8SAndroid Build Coastguard Worker                    )
2935*e82f7db8SAndroid Build Coastguard Worker                    (Alt ThreadDeath=JDWP.EventKind.THREAD_DEATH
2936*e82f7db8SAndroid Build Coastguard Worker                        "Notification of a completed thread in the target VM. The "
2937*e82f7db8SAndroid Build Coastguard Worker                        "notification is generated by the dying thread before it terminates. "
2938*e82f7db8SAndroid Build Coastguard Worker                        "Because of this timing, it is possible "
2939*e82f7db8SAndroid Build Coastguard Worker                        "for {@link VirtualMachine#allThreads} to return this thread "
2940*e82f7db8SAndroid Build Coastguard Worker                        "after this event is received. "
2941*e82f7db8SAndroid Build Coastguard Worker                        "<p>"
2942*e82f7db8SAndroid Build Coastguard Worker                        "Note that this event gives no information "
2943*e82f7db8SAndroid Build Coastguard Worker                        "about the lifetime of the thread object. It may or may not be collected "
2944*e82f7db8SAndroid Build Coastguard Worker                        "soon depending on what references exist in the target VM. "
2945*e82f7db8SAndroid Build Coastguard Worker
2946*e82f7db8SAndroid Build Coastguard Worker                        (int requestID "Request that generated event")
2947*e82f7db8SAndroid Build Coastguard Worker                        (threadObject thread "Ending thread")
2948*e82f7db8SAndroid Build Coastguard Worker                    )
2949*e82f7db8SAndroid Build Coastguard Worker                    (Alt ClassPrepare=JDWP.EventKind.CLASS_PREPARE
2950*e82f7db8SAndroid Build Coastguard Worker                        "Notification of a class prepare in the target VM. See the JVM "
2951*e82f7db8SAndroid Build Coastguard Worker                        "specification for a definition of class preparation. Class prepare "
2952*e82f7db8SAndroid Build Coastguard Worker                        "events are not generated for primtiive classes (for example, "
2953*e82f7db8SAndroid Build Coastguard Worker                        "java.lang.Integer.TYPE). "
2954*e82f7db8SAndroid Build Coastguard Worker
2955*e82f7db8SAndroid Build Coastguard Worker                        (int requestID "Request that generated event")
2956*e82f7db8SAndroid Build Coastguard Worker                        (threadObject thread "Preparing thread. "
2957*e82f7db8SAndroid Build Coastguard Worker                             "In rare cases, this event may occur in a debugger system "
2958*e82f7db8SAndroid Build Coastguard Worker                             "thread within the target VM. Debugger threads take precautions "
2959*e82f7db8SAndroid Build Coastguard Worker                             "to prevent these events, but they cannot be avoided under some "
2960*e82f7db8SAndroid Build Coastguard Worker                             "conditions, especially for some subclasses of "
2961*e82f7db8SAndroid Build Coastguard Worker                             "java.lang.Error. "
2962*e82f7db8SAndroid Build Coastguard Worker                             "If the event was generated by a debugger system thread, the "
2963*e82f7db8SAndroid Build Coastguard Worker                             "value returned by this method is null, and if the requested  "
2964*e82f7db8SAndroid Build Coastguard Worker                             "<a href=\"#JDWP_SuspendPolicy\">suspend policy</a> "
2965*e82f7db8SAndroid Build Coastguard Worker                             "for the event was EVENT_THREAD "
2966*e82f7db8SAndroid Build Coastguard Worker                             "all threads will be suspended instead, and the "
2967*e82f7db8SAndroid Build Coastguard Worker                             "composite event's suspend policy will reflect this change. "
2968*e82f7db8SAndroid Build Coastguard Worker                             "<p>"
2969*e82f7db8SAndroid Build Coastguard Worker                             "Note that the discussion above does not apply to system threads "
2970*e82f7db8SAndroid Build Coastguard Worker                             "created by the target VM during its normal (non-debug) operation. "
2971*e82f7db8SAndroid Build Coastguard Worker                        )
2972*e82f7db8SAndroid Build Coastguard Worker                        (byte refTypeTag  "Kind of reference type. "
2973*e82f7db8SAndroid Build Coastguard Worker                           "See <a href=\"#JDWP_TypeTag\">JDWP.TypeTag</a>")
2974*e82f7db8SAndroid Build Coastguard Worker                        (referenceTypeID typeID "Type being prepared")
2975*e82f7db8SAndroid Build Coastguard Worker                        (string signature "Type signature")
2976*e82f7db8SAndroid Build Coastguard Worker                        (int status "Status of type. "
2977*e82f7db8SAndroid Build Coastguard Worker                         "See <a href=\"#JDWP_ClassStatus\">JDWP.ClassStatus</a>")
2978*e82f7db8SAndroid Build Coastguard Worker                    )
2979*e82f7db8SAndroid Build Coastguard Worker                    (Alt ClassUnload=JDWP.EventKind.CLASS_UNLOAD
2980*e82f7db8SAndroid Build Coastguard Worker                         "Notification of a class unload in the target VM. "
2981*e82f7db8SAndroid Build Coastguard Worker                         "<p>"
2982*e82f7db8SAndroid Build Coastguard Worker                         "There are severe constraints on the debugger back-end during "
2983*e82f7db8SAndroid Build Coastguard Worker                         "garbage collection, so unload information is greatly limited. "
2984*e82f7db8SAndroid Build Coastguard Worker
2985*e82f7db8SAndroid Build Coastguard Worker                        (int requestID "Request that generated event")
2986*e82f7db8SAndroid Build Coastguard Worker                        (string signature "Type signature")
2987*e82f7db8SAndroid Build Coastguard Worker                    )
2988*e82f7db8SAndroid Build Coastguard Worker                    (Alt FieldAccess=JDWP.EventKind.FIELD_ACCESS
2989*e82f7db8SAndroid Build Coastguard Worker                        "Notification of a field access in the target VM. "
2990*e82f7db8SAndroid Build Coastguard Worker                        "Field modifications "
2991*e82f7db8SAndroid Build Coastguard Worker                        "are not considered field accesses. "
2992*e82f7db8SAndroid Build Coastguard Worker                        "Requires canWatchFieldAccess capability - see "
2993*e82f7db8SAndroid Build Coastguard Worker                        "<a href=\"#JDWP_VirtualMachine_CapabilitiesNew\">CapabilitiesNew</a>."
2994*e82f7db8SAndroid Build Coastguard Worker
2995*e82f7db8SAndroid Build Coastguard Worker                      (int requestID "Request that generated event")
2996*e82f7db8SAndroid Build Coastguard Worker                        (threadObject thread "Accessing thread")
2997*e82f7db8SAndroid Build Coastguard Worker                        (location location "Location of access")
2998*e82f7db8SAndroid Build Coastguard Worker                        (byte refTypeTag  "Kind of reference type. "
2999*e82f7db8SAndroid Build Coastguard Worker                           "See <a href=\"#JDWP_TypeTag\">JDWP.TypeTag</a>")
3000*e82f7db8SAndroid Build Coastguard Worker                        (referenceTypeID typeID "Type of field")
3001*e82f7db8SAndroid Build Coastguard Worker                        (field fieldID "Field being accessed")
3002*e82f7db8SAndroid Build Coastguard Worker                        (tagged-object object
3003*e82f7db8SAndroid Build Coastguard Worker                                "Object being accessed (null=0 for statics")
3004*e82f7db8SAndroid Build Coastguard Worker                    )
3005*e82f7db8SAndroid Build Coastguard Worker                    (Alt FieldModification=JDWP.EventKind.FIELD_MODIFICATION
3006*e82f7db8SAndroid Build Coastguard Worker                        "Notification of a field modification in the target VM. "
3007*e82f7db8SAndroid Build Coastguard Worker                        "Requires canWatchFieldModification capability - see "
3008*e82f7db8SAndroid Build Coastguard Worker                        "<a href=\"#JDWP_VirtualMachine_CapabilitiesNew\">CapabilitiesNew</a>."
3009*e82f7db8SAndroid Build Coastguard Worker
3010*e82f7db8SAndroid Build Coastguard Worker                        (int requestID "Request that generated event")
3011*e82f7db8SAndroid Build Coastguard Worker                        (threadObject thread "Modifying thread")
3012*e82f7db8SAndroid Build Coastguard Worker                        (location location "Location of modify")
3013*e82f7db8SAndroid Build Coastguard Worker                        (byte refTypeTag  "Kind of reference type. "
3014*e82f7db8SAndroid Build Coastguard Worker                           "See <a href=\"#JDWP_TypeTag\">JDWP.TypeTag</a>")
3015*e82f7db8SAndroid Build Coastguard Worker                        (referenceTypeID typeID "Type of field")
3016*e82f7db8SAndroid Build Coastguard Worker                        (field fieldID "Field being modified")
3017*e82f7db8SAndroid Build Coastguard Worker                        (tagged-object object
3018*e82f7db8SAndroid Build Coastguard Worker                                "Object being modified (null=0 for statics")
3019*e82f7db8SAndroid Build Coastguard Worker                        (value valueToBe "Value to be assigned")
3020*e82f7db8SAndroid Build Coastguard Worker                    )
3021*e82f7db8SAndroid Build Coastguard Worker                    (Alt VMDeath=JDWP.EventKind.VM_DEATH
3022*e82f7db8SAndroid Build Coastguard Worker                        (int requestID
3023*e82f7db8SAndroid Build Coastguard Worker                                "Request that generated event")
3024*e82f7db8SAndroid Build Coastguard Worker                    )
3025*e82f7db8SAndroid Build Coastguard Worker                )
3026*e82f7db8SAndroid Build Coastguard Worker            )
3027*e82f7db8SAndroid Build Coastguard Worker        )
3028*e82f7db8SAndroid Build Coastguard Worker    )
3029*e82f7db8SAndroid Build Coastguard Worker)
3030*e82f7db8SAndroid Build Coastguard Worker(CommandSet DDM=-57
3031*e82f7db8SAndroid Build Coastguard Worker    "The extension commands for ddms. Note that this is equivalent to the uint8_t value '199'."
3032*e82f7db8SAndroid Build Coastguard Worker    (Command Chunk = 1
3033*e82f7db8SAndroid Build Coastguard Worker        "Returns the output of processing a DDMS chunk with any registered handlers. Note: When an error occurs or no data is returned no error code will be set and the reply will be empty.  This is for backwards compatibility."
3034*e82f7db8SAndroid Build Coastguard Worker        (Out
3035*e82f7db8SAndroid Build Coastguard Worker            (int ddms_type "The ddms type of the data that follows")
3036*e82f7db8SAndroid Build Coastguard Worker            (Repeat ddms_data_length
3037*e82f7db8SAndroid Build Coastguard Worker                (byte ddms_data "DDMS data to be processed by the handler registered for the given input_type.")
3038*e82f7db8SAndroid Build Coastguard Worker            )
3039*e82f7db8SAndroid Build Coastguard Worker        )
3040*e82f7db8SAndroid Build Coastguard Worker        (Reply
3041*e82f7db8SAndroid Build Coastguard Worker            (int ddms_type "The ddms type of the data that follows")
3042*e82f7db8SAndroid Build Coastguard Worker            (Repeat ddms_data_length
3043*e82f7db8SAndroid Build Coastguard Worker                (byte ddms_data "DDMS data returned from the handler")
3044*e82f7db8SAndroid Build Coastguard Worker            )
3045*e82f7db8SAndroid Build Coastguard Worker        )
3046*e82f7db8SAndroid Build Coastguard Worker        (ErrorSet
3047*e82f7db8SAndroid Build Coastguard Worker            (Error NOT_IMPLEMENTED "DDMS is not supported or set up.")
3048*e82f7db8SAndroid Build Coastguard Worker            (Error VM_DEAD)
3049*e82f7db8SAndroid Build Coastguard Worker        )
3050*e82f7db8SAndroid Build Coastguard Worker    )
3051*e82f7db8SAndroid Build Coastguard Worker)
3052*e82f7db8SAndroid Build Coastguard Worker(ConstantSet Error
3053*e82f7db8SAndroid Build Coastguard Worker    (Constant NONE                   =0   "No error has occurred.")
3054*e82f7db8SAndroid Build Coastguard Worker    (Constant INVALID_THREAD         =10  "Passed thread is null, is not a valid thread or has exited.")
3055*e82f7db8SAndroid Build Coastguard Worker    (Constant INVALID_THREAD_GROUP   =11  "Thread group invalid.")
3056*e82f7db8SAndroid Build Coastguard Worker    (Constant INVALID_PRIORITY       =12  "Invalid priority.")
3057*e82f7db8SAndroid Build Coastguard Worker    (Constant THREAD_NOT_SUSPENDED   =13  "If the specified thread has not been "
3058*e82f7db8SAndroid Build Coastguard Worker                                          "suspended by an event.")
3059*e82f7db8SAndroid Build Coastguard Worker    (Constant THREAD_SUSPENDED       =14  "Thread already suspended.")
3060*e82f7db8SAndroid Build Coastguard Worker    (Constant THREAD_NOT_ALIVE       =15  "Thread has not been started or is now dead.")
3061*e82f7db8SAndroid Build Coastguard Worker
3062*e82f7db8SAndroid Build Coastguard Worker    (Constant INVALID_OBJECT         =20  "If this reference type has been unloaded "
3063*e82f7db8SAndroid Build Coastguard Worker                                          "and garbage collected.")
3064*e82f7db8SAndroid Build Coastguard Worker    (Constant INVALID_CLASS          =21  "Invalid class.")
3065*e82f7db8SAndroid Build Coastguard Worker    (Constant CLASS_NOT_PREPARED     =22  "Class has been loaded but not yet prepared.")
3066*e82f7db8SAndroid Build Coastguard Worker    (Constant INVALID_METHODID       =23  "Invalid method.")
3067*e82f7db8SAndroid Build Coastguard Worker    (Constant INVALID_LOCATION       =24  "Invalid location.")
3068*e82f7db8SAndroid Build Coastguard Worker    (Constant INVALID_FIELDID        =25  "Invalid field.")
3069*e82f7db8SAndroid Build Coastguard Worker    (Constant INVALID_FRAMEID        =30  "Invalid jframeID.")
3070*e82f7db8SAndroid Build Coastguard Worker    (Constant NO_MORE_FRAMES         =31  "There are no more Java or JNI frames on the "
3071*e82f7db8SAndroid Build Coastguard Worker                                          "call stack.")
3072*e82f7db8SAndroid Build Coastguard Worker    (Constant OPAQUE_FRAME           =32  "Information about the frame is not available.")
3073*e82f7db8SAndroid Build Coastguard Worker    (Constant NOT_CURRENT_FRAME      =33  "Operation can only be performed on current frame.")
3074*e82f7db8SAndroid Build Coastguard Worker    (Constant TYPE_MISMATCH          =34  "The variable is not an appropriate type for "
3075*e82f7db8SAndroid Build Coastguard Worker                                          "the function used.")
3076*e82f7db8SAndroid Build Coastguard Worker    (Constant INVALID_SLOT           =35  "Invalid slot.")
3077*e82f7db8SAndroid Build Coastguard Worker    (Constant DUPLICATE              =40  "Item already set.")
3078*e82f7db8SAndroid Build Coastguard Worker    (Constant NOT_FOUND              =41  "Desired element not found.")
3079*e82f7db8SAndroid Build Coastguard Worker    (Constant INVALID_MONITOR        =50  "Invalid monitor.")
3080*e82f7db8SAndroid Build Coastguard Worker    (Constant NOT_MONITOR_OWNER      =51  "This thread doesn't own the monitor.")
3081*e82f7db8SAndroid Build Coastguard Worker    (Constant INTERRUPT              =52  "The call has been interrupted before completion.")
3082*e82f7db8SAndroid Build Coastguard Worker    (Constant INVALID_CLASS_FORMAT   =60  "The virtual machine attempted to read a class "
3083*e82f7db8SAndroid Build Coastguard Worker                                          "file and determined that the file is malformed "
3084*e82f7db8SAndroid Build Coastguard Worker                                          "or otherwise cannot be interpreted as a class file.")
3085*e82f7db8SAndroid Build Coastguard Worker    (Constant CIRCULAR_CLASS_DEFINITION
3086*e82f7db8SAndroid Build Coastguard Worker                                     =61  "A circularity has been detected while "
3087*e82f7db8SAndroid Build Coastguard Worker                                          "initializing a class.")
3088*e82f7db8SAndroid Build Coastguard Worker    (Constant FAILS_VERIFICATION     =62  "The verifier detected that a class file, "
3089*e82f7db8SAndroid Build Coastguard Worker                                          "though well formed, contained some sort of "
3090*e82f7db8SAndroid Build Coastguard Worker                                          "internal inconsistency or security problem.")
3091*e82f7db8SAndroid Build Coastguard Worker    (Constant ADD_METHOD_NOT_IMPLEMENTED
3092*e82f7db8SAndroid Build Coastguard Worker                                     =63  "Adding methods has not been implemented.")
3093*e82f7db8SAndroid Build Coastguard Worker    (Constant SCHEMA_CHANGE_NOT_IMPLEMENTED
3094*e82f7db8SAndroid Build Coastguard Worker                                     =64  "Schema change has not been implemented.")
3095*e82f7db8SAndroid Build Coastguard Worker    (Constant INVALID_TYPESTATE      =65  "The state of the thread has been modified, "
3096*e82f7db8SAndroid Build Coastguard Worker                                          "and is now inconsistent.")
3097*e82f7db8SAndroid Build Coastguard Worker    (Constant HIERARCHY_CHANGE_NOT_IMPLEMENTED
3098*e82f7db8SAndroid Build Coastguard Worker                                     =66  "A direct superclass is different for the new class "
3099*e82f7db8SAndroid Build Coastguard Worker                                          "version, or the set of directly implemented "
3100*e82f7db8SAndroid Build Coastguard Worker                                          "interfaces is different "
3101*e82f7db8SAndroid Build Coastguard Worker                                          "and canUnrestrictedlyRedefineClasses is false.")
3102*e82f7db8SAndroid Build Coastguard Worker    (Constant DELETE_METHOD_NOT_IMPLEMENTED
3103*e82f7db8SAndroid Build Coastguard Worker                                     =67  "The new class version does not declare a method "
3104*e82f7db8SAndroid Build Coastguard Worker                                          "declared in the old class version "
3105*e82f7db8SAndroid Build Coastguard Worker                                          "and canUnrestrictedlyRedefineClasses is false.")
3106*e82f7db8SAndroid Build Coastguard Worker    (Constant UNSUPPORTED_VERSION    =68  "A class file has a version number not supported "
3107*e82f7db8SAndroid Build Coastguard Worker                                          "by this VM.")
3108*e82f7db8SAndroid Build Coastguard Worker    (Constant NAMES_DONT_MATCH       =69  "The class name defined in the new class file is "
3109*e82f7db8SAndroid Build Coastguard Worker                                          "different from the name in the old class object.")
3110*e82f7db8SAndroid Build Coastguard Worker    (Constant CLASS_MODIFIERS_CHANGE_NOT_IMPLEMENTED
3111*e82f7db8SAndroid Build Coastguard Worker                                     =70  "The new class version has different modifiers and "
3112*e82f7db8SAndroid Build Coastguard Worker                                          "and canUnrestrictedlyRedefineClasses is false.")
3113*e82f7db8SAndroid Build Coastguard Worker    (Constant METHOD_MODIFIERS_CHANGE_NOT_IMPLEMENTED
3114*e82f7db8SAndroid Build Coastguard Worker                                     =71  "A method in the new class version has "
3115*e82f7db8SAndroid Build Coastguard Worker                                          "different modifiers "
3116*e82f7db8SAndroid Build Coastguard Worker                                          "than its counterpart in the old class version and "
3117*e82f7db8SAndroid Build Coastguard Worker                                          "and canUnrestrictedlyRedefineClasses is false.")
3118*e82f7db8SAndroid Build Coastguard Worker    (Constant NOT_IMPLEMENTED        =99  "The functionality is not implemented in "
3119*e82f7db8SAndroid Build Coastguard Worker                                          "this virtual machine.")
3120*e82f7db8SAndroid Build Coastguard Worker    (Constant NULL_POINTER           =100 "Invalid pointer.")
3121*e82f7db8SAndroid Build Coastguard Worker    (Constant ABSENT_INFORMATION     =101 "Desired information is not available.")
3122*e82f7db8SAndroid Build Coastguard Worker    (Constant INVALID_EVENT_TYPE     =102 "The specified event type id is not recognized.")
3123*e82f7db8SAndroid Build Coastguard Worker    (Constant ILLEGAL_ARGUMENT       =103 "Illegal argument.")
3124*e82f7db8SAndroid Build Coastguard Worker    (Constant OUT_OF_MEMORY          =110 "The function needed to allocate memory and "
3125*e82f7db8SAndroid Build Coastguard Worker                                          "no more memory was available for allocation.")
3126*e82f7db8SAndroid Build Coastguard Worker    (Constant ACCESS_DENIED          =111 "Debugging has not been enabled in this "
3127*e82f7db8SAndroid Build Coastguard Worker                                          "virtual machine. JVMTI cannot be used.")
3128*e82f7db8SAndroid Build Coastguard Worker    (Constant VM_DEAD                =112 "The virtual machine is not running.")
3129*e82f7db8SAndroid Build Coastguard Worker    (Constant INTERNAL               =113 "An unexpected internal error has occurred.")
3130*e82f7db8SAndroid Build Coastguard Worker    (Constant UNATTACHED_THREAD      =115 "The thread being used to call this function "
3131*e82f7db8SAndroid Build Coastguard Worker                                          "is not attached to the virtual machine. "
3132*e82f7db8SAndroid Build Coastguard Worker                                          "Calls must be made from attached threads.")
3133*e82f7db8SAndroid Build Coastguard Worker    (Constant INVALID_TAG            =500 "object type id or class tag.")
3134*e82f7db8SAndroid Build Coastguard Worker    (Constant ALREADY_INVOKING       =502 "Previous invoke not complete.")
3135*e82f7db8SAndroid Build Coastguard Worker    (Constant INVALID_INDEX          =503 "Index is invalid.")
3136*e82f7db8SAndroid Build Coastguard Worker    (Constant INVALID_LENGTH         =504 "The length is invalid.")
3137*e82f7db8SAndroid Build Coastguard Worker    (Constant INVALID_STRING         =506 "The string is invalid.")
3138*e82f7db8SAndroid Build Coastguard Worker    (Constant INVALID_CLASS_LOADER   =507 "The class loader is invalid.")
3139*e82f7db8SAndroid Build Coastguard Worker    (Constant INVALID_ARRAY          =508 "The array is invalid.")
3140*e82f7db8SAndroid Build Coastguard Worker    (Constant TRANSPORT_LOAD         =509 "Unable to load the transport.")
3141*e82f7db8SAndroid Build Coastguard Worker    (Constant TRANSPORT_INIT         =510 "Unable to initialize the transport.")
3142*e82f7db8SAndroid Build Coastguard Worker    (Constant NATIVE_METHOD          =511  )
3143*e82f7db8SAndroid Build Coastguard Worker    (Constant INVALID_COUNT          =512 "The count is invalid.")
3144*e82f7db8SAndroid Build Coastguard Worker)
3145*e82f7db8SAndroid Build Coastguard Worker(ConstantSet EventKind
3146*e82f7db8SAndroid Build Coastguard Worker    (Constant SINGLE_STEP            =1   )
3147*e82f7db8SAndroid Build Coastguard Worker    (Constant BREAKPOINT             =2   )
3148*e82f7db8SAndroid Build Coastguard Worker    (Constant FRAME_POP              =3   )
3149*e82f7db8SAndroid Build Coastguard Worker    (Constant EXCEPTION              =4   )
3150*e82f7db8SAndroid Build Coastguard Worker    (Constant USER_DEFINED           =5   )
3151*e82f7db8SAndroid Build Coastguard Worker    (Constant THREAD_START           =6   )
3152*e82f7db8SAndroid Build Coastguard Worker    (Constant THREAD_DEATH           =7   )
3153*e82f7db8SAndroid Build Coastguard Worker    (Constant THREAD_END             =7   "obsolete - was used in jvmdi")
3154*e82f7db8SAndroid Build Coastguard Worker    (Constant CLASS_PREPARE          =8   )
3155*e82f7db8SAndroid Build Coastguard Worker    (Constant CLASS_UNLOAD           =9   )
3156*e82f7db8SAndroid Build Coastguard Worker    (Constant CLASS_LOAD             =10  )
3157*e82f7db8SAndroid Build Coastguard Worker    (Constant FIELD_ACCESS           =20  )
3158*e82f7db8SAndroid Build Coastguard Worker    (Constant FIELD_MODIFICATION     =21  )
3159*e82f7db8SAndroid Build Coastguard Worker    (Constant EXCEPTION_CATCH        =30  )
3160*e82f7db8SAndroid Build Coastguard Worker    (Constant METHOD_ENTRY           =40  )
3161*e82f7db8SAndroid Build Coastguard Worker    (Constant METHOD_EXIT            =41  )
3162*e82f7db8SAndroid Build Coastguard Worker    (Constant METHOD_EXIT_WITH_RETURN_VALUE =42  )
3163*e82f7db8SAndroid Build Coastguard Worker    (Constant MONITOR_CONTENDED_ENTER          =43  )
3164*e82f7db8SAndroid Build Coastguard Worker    (Constant MONITOR_CONTENDED_ENTERED        =44 )
3165*e82f7db8SAndroid Build Coastguard Worker    (Constant MONITOR_WAIT           =45 )
3166*e82f7db8SAndroid Build Coastguard Worker    (Constant MONITOR_WAITED         =46 )
3167*e82f7db8SAndroid Build Coastguard Worker    (Constant VM_START               =90  )
3168*e82f7db8SAndroid Build Coastguard Worker    (Constant VM_INIT                =90  "obsolete - was used in jvmdi")
3169*e82f7db8SAndroid Build Coastguard Worker    (Constant VM_DEATH               =99  )
3170*e82f7db8SAndroid Build Coastguard Worker    (Constant VM_DISCONNECTED        =100 "Never sent across JDWP")
3171*e82f7db8SAndroid Build Coastguard Worker)
3172*e82f7db8SAndroid Build Coastguard Worker
3173*e82f7db8SAndroid Build Coastguard Worker(ConstantSet ThreadStatus
3174*e82f7db8SAndroid Build Coastguard Worker    (Constant ZOMBIE                 =0  )
3175*e82f7db8SAndroid Build Coastguard Worker    (Constant RUNNING                =1  )
3176*e82f7db8SAndroid Build Coastguard Worker    (Constant SLEEPING               =2  )
3177*e82f7db8SAndroid Build Coastguard Worker    (Constant MONITOR                =3  )
3178*e82f7db8SAndroid Build Coastguard Worker    (Constant WAIT                   =4  )
3179*e82f7db8SAndroid Build Coastguard Worker)
3180*e82f7db8SAndroid Build Coastguard Worker
3181*e82f7db8SAndroid Build Coastguard Worker(ConstantSet SuspendStatus
3182*e82f7db8SAndroid Build Coastguard Worker    (Constant SUSPEND_STATUS_SUSPENDED = 0x1 )
3183*e82f7db8SAndroid Build Coastguard Worker)
3184*e82f7db8SAndroid Build Coastguard Worker(ConstantSet ClassStatus
3185*e82f7db8SAndroid Build Coastguard Worker    (Constant VERIFIED               =1  )
3186*e82f7db8SAndroid Build Coastguard Worker    (Constant PREPARED               =2  )
3187*e82f7db8SAndroid Build Coastguard Worker    (Constant INITIALIZED            =4  )
3188*e82f7db8SAndroid Build Coastguard Worker    (Constant ERROR                  =8  )
3189*e82f7db8SAndroid Build Coastguard Worker)
3190*e82f7db8SAndroid Build Coastguard Worker(ConstantSet TypeTag
3191*e82f7db8SAndroid Build Coastguard Worker    (Constant CLASS=1 "ReferenceType is a class. ")
3192*e82f7db8SAndroid Build Coastguard Worker    (Constant INTERFACE=2 "ReferenceType is an interface. ")
3193*e82f7db8SAndroid Build Coastguard Worker    (Constant ARRAY=3 "ReferenceType is an array. ")
3194*e82f7db8SAndroid Build Coastguard Worker)
3195*e82f7db8SAndroid Build Coastguard Worker(ConstantSet Tag
3196*e82f7db8SAndroid Build Coastguard Worker    (Constant ARRAY = '[' "'[' - an array object (objectID size). ")
3197*e82f7db8SAndroid Build Coastguard Worker    (Constant BYTE = 'B' "'B' - a byte value (1 byte).")
3198*e82f7db8SAndroid Build Coastguard Worker    (Constant CHAR = 'C' "'C' - a character value (2 bytes).")
3199*e82f7db8SAndroid Build Coastguard Worker    (Constant OBJECT = 'L' "'L' - an object (objectID size).")
3200*e82f7db8SAndroid Build Coastguard Worker    (Constant FLOAT = 'F' "'F' - a float value (4 bytes).")
3201*e82f7db8SAndroid Build Coastguard Worker    (Constant DOUBLE = 'D' "'D' - a double value (8 bytes).")
3202*e82f7db8SAndroid Build Coastguard Worker    (Constant INT = 'I' "'I' - an int value (4 bytes).")
3203*e82f7db8SAndroid Build Coastguard Worker    (Constant LONG = 'J' "'J' - a long value (8 bytes).")
3204*e82f7db8SAndroid Build Coastguard Worker    (Constant SHORT = 'S' "'S' - a short value (2 bytes).")
3205*e82f7db8SAndroid Build Coastguard Worker    (Constant VOID = 'V' "'V' - a void value (no bytes).")
3206*e82f7db8SAndroid Build Coastguard Worker    (Constant BOOLEAN = 'Z' "'Z' - a boolean value (1 byte).")
3207*e82f7db8SAndroid Build Coastguard Worker    (Constant STRING = 's' "'s' - a String object (objectID size). ")
3208*e82f7db8SAndroid Build Coastguard Worker    (Constant THREAD = 't' "'t' - a Thread object (objectID size). ")
3209*e82f7db8SAndroid Build Coastguard Worker    (Constant THREAD_GROUP = 'g'
3210*e82f7db8SAndroid Build Coastguard Worker        "'g' - a ThreadGroup object (objectID size). ")
3211*e82f7db8SAndroid Build Coastguard Worker    (Constant CLASS_LOADER = 'l'
3212*e82f7db8SAndroid Build Coastguard Worker        "'l' - a ClassLoader object (objectID size). ")
3213*e82f7db8SAndroid Build Coastguard Worker    (Constant CLASS_OBJECT = 'c'
3214*e82f7db8SAndroid Build Coastguard Worker        "'c' - a class object object (objectID size). ")
3215*e82f7db8SAndroid Build Coastguard Worker)
3216*e82f7db8SAndroid Build Coastguard Worker
3217*e82f7db8SAndroid Build Coastguard Worker(ConstantSet StepDepth
3218*e82f7db8SAndroid Build Coastguard Worker    (Constant INTO = 0
3219*e82f7db8SAndroid Build Coastguard Worker        "Step into any method calls that occur before the end of the step. ")
3220*e82f7db8SAndroid Build Coastguard Worker    (Constant OVER = 1
3221*e82f7db8SAndroid Build Coastguard Worker        "Step over any method calls that occur before the end of the step. ")
3222*e82f7db8SAndroid Build Coastguard Worker    (Constant OUT = 2
3223*e82f7db8SAndroid Build Coastguard Worker        "Step out of the current method. ")
3224*e82f7db8SAndroid Build Coastguard Worker)
3225*e82f7db8SAndroid Build Coastguard Worker
3226*e82f7db8SAndroid Build Coastguard Worker(ConstantSet StepSize
3227*e82f7db8SAndroid Build Coastguard Worker    (Constant MIN = 0
3228*e82f7db8SAndroid Build Coastguard Worker        "Step by the minimum possible amount (often a bytecode instruction). ")
3229*e82f7db8SAndroid Build Coastguard Worker    (Constant LINE = 1
3230*e82f7db8SAndroid Build Coastguard Worker        "Step to the next source line unless there is no line number information in which case a MIN step is done instead.")
3231*e82f7db8SAndroid Build Coastguard Worker)
3232*e82f7db8SAndroid Build Coastguard Worker
3233*e82f7db8SAndroid Build Coastguard Worker(ConstantSet SuspendPolicy
3234*e82f7db8SAndroid Build Coastguard Worker    (Constant NONE = 0
3235*e82f7db8SAndroid Build Coastguard Worker        "Suspend no threads when this event is encountered. ")
3236*e82f7db8SAndroid Build Coastguard Worker    (Constant EVENT_THREAD = 1
3237*e82f7db8SAndroid Build Coastguard Worker        "Suspend the event thread when this event is encountered. ")
3238*e82f7db8SAndroid Build Coastguard Worker    (Constant ALL = 2
3239*e82f7db8SAndroid Build Coastguard Worker        "Suspend all threads when this event is encountered. ")
3240*e82f7db8SAndroid Build Coastguard Worker)
3241*e82f7db8SAndroid Build Coastguard Worker
3242*e82f7db8SAndroid Build Coastguard Worker(ConstantSet InvokeOptions
3243*e82f7db8SAndroid Build Coastguard Worker    "The invoke options are a combination of zero or more of the following bit flags:"
3244*e82f7db8SAndroid Build Coastguard Worker    (Constant INVOKE_SINGLE_THREADED = 0x01
3245*e82f7db8SAndroid Build Coastguard Worker        "otherwise, all threads started. ")
3246*e82f7db8SAndroid Build Coastguard Worker    (Constant INVOKE_NONVIRTUAL = 0x02
3247*e82f7db8SAndroid Build Coastguard Worker        "otherwise, normal virtual invoke (instance methods only)")
3248*e82f7db8SAndroid Build Coastguard Worker)
3249