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