< prev index next >

make/data/jdwp/jdwp.spec

Print this page

  75         (Out
  76         )
  77         (Reply
  78             (Repeat classes "Number of reference types that follow."
  79                 (Group ClassInfo
  80                     (byte refTypeTag  "<a href=\"#JDWP_TypeTag\">Kind</a> "
  81                                       "of following reference type. ")
  82                     (referenceTypeID typeID "Loaded reference type")
  83                     (string signature
  84                                 "The JNI signature of the loaded reference type")
  85                     (int status "The current class "
  86                                 "<a href=\"#JDWP_ClassStatus\">status.</a> ")
  87                 )
  88             )
  89         )
  90         (ErrorSet
  91             (Error VM_DEAD)
  92         )
  93     )
  94     (Command AllThreads=4
  95         "Returns all threads currently running in the target VM . "
  96         "The returned list contains threads created through "
  97         "java.lang.Thread, all native threads attached to "
  98         "the target VM through JNI, and system threads created "
  99         "by the target VM. Threads that have not yet been started "
 100         "and threads that have completed their execution are not "
 101         "included in the returned list. "

 102         (Out
 103         )
 104         (Reply
 105             (Repeat threads "Number of threads that follow."
 106                 (threadObject thread "A running thread")
 107             )
 108         )
 109         (ErrorSet
 110             (Error VM_DEAD)
 111         )
 112     )
 113     (Command TopLevelThreadGroups=5
 114         "Returns all thread groups that do not have a parent. This command "
 115         "may be used as the first step in building a tree (or trees) of the "
 116         "existing thread groups."
 117         (Out
 118         )
 119         (Reply
 120             (Repeat groups "Number of thread groups that follow."
 121                 (threadGroupObject group "A top level thread group")

 407                      "Can the VM filter events by specific object?")
 408             (boolean canGetSourceDebugExtension
 409                      "Can the VM get the source debug extension?")
 410             (boolean canRequestVMDeathEvent
 411                      "Can the VM request VM death events?")
 412             (boolean canSetDefaultStratum
 413                      "Can the VM set a default stratum?")
 414             (boolean canGetInstanceInfo
 415                      "Can the VM return instances, counts of instances of classes "
 416                      "and referring objects?")
 417             (boolean canRequestMonitorEvents
 418                      "Can the VM request monitor events?")
 419             (boolean canGetMonitorFrameInfo
 420                      "Can the VM get monitors with frame depth info?")
 421             (boolean canUseSourceNameFilters
 422                      "Can the VM filter class prepare events by source name?")
 423             (boolean canGetConstantPool
 424                      "Can the VM return the constant pool information?")
 425             (boolean canForceEarlyReturn
 426                      "Can the VM force early return from a method?")
 427             (boolean reserved22
 428                      "Reserved for future capability")
 429             (boolean reserved23
 430                      "Reserved for future capability")
 431             (boolean reserved24
 432                      "Reserved for future capability")
 433             (boolean reserved25
 434                      "Reserved for future capability")
 435             (boolean reserved26
 436                      "Reserved for future capability")
 437             (boolean reserved27
 438                      "Reserved for future capability")
 439             (boolean reserved28
 440                      "Reserved for future capability")
 441             (boolean reserved29
 442                      "Reserved for future capability")
 443             (boolean reserved30
 444                      "Reserved for future capability")
 445             (boolean reserved31
 446                      "Reserved for future capability")
 447             (boolean reserved32
 448                      "Reserved for future capability")

2123         )
2124         (Reply "none"
2125         )
2126         (ErrorSet
2127             (Error INVALID_THREAD)
2128             (Error INVALID_OBJECT    "Thread or value is not a known ID.")
2129             (Error THREAD_NOT_SUSPENDED)
2130             (Error THREAD_NOT_ALIVE)
2131             (Error OPAQUE_FRAME      "Attempted to return early from "
2132                                      "a frame corresponding to a native "
2133                                      "method. Or the implementation is "
2134                                      "unable to provide this functionality "
2135                                      "on this frame.")
2136             (Error NO_MORE_FRAMES)
2137             (Error NOT_IMPLEMENTED)
2138             (Error TYPE_MISMATCH   "Value is not an appropriate type for the "
2139                                    "return value of the method.")
2140             (Error VM_DEAD)
2141         )
2142     )
2143 


















2144 )
2145 (CommandSet ThreadGroupReference=12
2146     (Command Name=1
2147         "Returns the thread group name. "
2148         (Out
2149             (threadGroupObject group "The thread group object ID. ")
2150         )
2151         (Reply
2152             (string groupName "The thread group's name.")
2153         )
2154         (ErrorSet
2155             (Error INVALID_THREAD_GROUP)
2156             (Error INVALID_OBJECT    "group is not a known ID.")
2157             (Error VM_DEAD)
2158         )
2159     )
2160     (Command Parent=2
2161         "Returns the thread group, if any, which contains a given thread group. "
2162         (Out
2163             (threadGroupObject group "The thread group object ID. ")
2164         )
2165         (Reply
2166             (threadGroupObject parentGroup "The parent thread group object, or "
2167                                            "null if the given thread group "
2168                                            "is a top-level thread group")
2169         )
2170         (ErrorSet
2171             (Error INVALID_THREAD_GROUP)
2172             (Error INVALID_OBJECT    "group is not a known ID.")
2173             (Error VM_DEAD)
2174         )
2175     )
2176     (Command Children=3
2177         "Returns the live threads and active thread groups directly contained "
2178         "in this thread group. Threads and thread groups in child "

2179         "thread groups are not included. "
2180         "A thread is alive if it has been started and has not yet been stopped. "
2181         "See <a href=../../api/java.base/java/lang/ThreadGroup.html>java.lang.ThreadGroup </a>
2182         "for information about active ThreadGroups.
2183         (Out
2184             (threadGroupObject group "The thread group object ID. ")
2185         )
2186         (Reply
2187             (Repeat childThreads "The number of live child threads. "
2188                 (threadObject childThread "A direct child thread ID. ")
2189             )
2190             (Repeat childGroups "The number of active child thread groups. "
2191                 (threadGroupObject childGroup "A direct child thread group ID. ")
2192             )
2193         )
2194         (ErrorSet
2195             (Error INVALID_THREAD_GROUP)
2196             (Error INVALID_OBJECT    "group is not a known ID.")
2197             (Error VM_DEAD)
2198         )
2199     )
2200 )
2201 (CommandSet ArrayReference=13

2487                     (Alt SourceNameMatch=12
2488                         "Restricts reported class prepare events to those "
2489                         "for reference types which have a source name "
2490                         "which matches the given restricted regular expression. "
2491                         "The source names are determined by the reference type's "
2492                         "<a href=\"#JDWP_ReferenceType_SourceDebugExtension\"> "
2493                         "SourceDebugExtension</a>. "
2494                         "This modifier can only be used with class prepare "
2495                         "events. "
2496                         "Since JDWP version 1.6. Requires the canUseSourceNameFilters "
2497                         "capability - see "
2498                         "<a href=\"#JDWP_VirtualMachine_CapabilitiesNew\">CapabilitiesNew</a>."
2499 
2500                         (string sourceNamePattern "Required source name pattern. "
2501                                 "Matches are limited to exact matches of the "
2502                                 "given pattern and matches of patterns that "
2503                                 "begin or end with '*'; for example, "
2504                                 "\"*.Foo\" or \"java.*\". "
2505                         )
2506                     )








2507 
2508                 )
2509             )
2510         )
2511         (Reply
2512             (int requestID "ID of created request")
2513         )
2514         (ErrorSet
2515             (Error INVALID_THREAD)
2516             (Error INVALID_CLASS)
2517             (Error INVALID_STRING)
2518             (Error INVALID_OBJECT)
2519             (Error INVALID_COUNT)
2520             (Error INVALID_FIELDID)
2521             (Error INVALID_METHODID)
2522             (Error INVALID_LOCATION)
2523             (Error INVALID_EVENT_TYPE)
2524             (Error NOT_IMPLEMENTED)
2525             (Error VM_DEAD)
2526         )

3205     (Constant CLASS_PREPARE          =8   )
3206     (Constant CLASS_UNLOAD           =9   )
3207     (Constant CLASS_LOAD             =10  )
3208     (Constant FIELD_ACCESS           =20  )
3209     (Constant FIELD_MODIFICATION     =21  )
3210     (Constant EXCEPTION_CATCH        =30  )
3211     (Constant METHOD_ENTRY           =40  )
3212     (Constant METHOD_EXIT            =41  )
3213     (Constant METHOD_EXIT_WITH_RETURN_VALUE =42  )
3214     (Constant MONITOR_CONTENDED_ENTER          =43  )
3215     (Constant MONITOR_CONTENDED_ENTERED        =44 )
3216     (Constant MONITOR_WAIT           =45 )
3217     (Constant MONITOR_WAITED         =46 )
3218     (Constant VM_START               =90  )
3219     (Constant VM_INIT                =90  "obsolete - was used in jvmdi")
3220     (Constant VM_DEATH               =99  )
3221     (Constant VM_DISCONNECTED        =100 "Never sent across JDWP")
3222 )
3223 
3224 (ConstantSet ThreadStatus
3225     (Constant ZOMBIE                 =0  )
3226     (Constant RUNNING                =1  )
3227     (Constant SLEEPING               =2  )
3228     (Constant MONITOR                =3  )
3229     (Constant WAIT                   =4  )




3230 )
3231 
3232 (ConstantSet SuspendStatus
3233     (Constant SUSPEND_STATUS_SUSPENDED = 0x1 )
3234 )
3235 (ConstantSet ClassStatus
3236     (Constant VERIFIED               =1  )
3237     (Constant PREPARED               =2  )
3238     (Constant INITIALIZED            =4  )
3239     (Constant ERROR                  =8  )
3240 )
3241 (ConstantSet TypeTag
3242     (Constant CLASS=1 "ReferenceType is a class. ")
3243     (Constant INTERFACE=2 "ReferenceType is an interface. ")
3244     (Constant ARRAY=3 "ReferenceType is an array. ")
3245 )
3246 (ConstantSet Tag
3247     (Constant ARRAY = '[' "'[' - an array object (objectID size). ")
3248     (Constant BYTE = 'B' "'B' - a byte value (1 byte).")
3249     (Constant CHAR = 'C' "'C' - a character value (2 bytes).")

  75         (Out
  76         )
  77         (Reply
  78             (Repeat classes "Number of reference types that follow."
  79                 (Group ClassInfo
  80                     (byte refTypeTag  "<a href=\"#JDWP_TypeTag\">Kind</a> "
  81                                       "of following reference type. ")
  82                     (referenceTypeID typeID "Loaded reference type")
  83                     (string signature
  84                                 "The JNI signature of the loaded reference type")
  85                     (int status "The current class "
  86                                 "<a href=\"#JDWP_ClassStatus\">status.</a> ")
  87                 )
  88             )
  89         )
  90         (ErrorSet
  91             (Error VM_DEAD)
  92         )
  93     )
  94     (Command AllThreads=4
  95         "Returns the live "
  96         "<a href=../../api/java.base/java/lang/Thread.html#platform-threads>platform threads</a> "
  97         "in the target VM. The returned list contains platform threads created with "
  98         "the java.lang.Thread API and all native threads attached to the target VM "
  99         " through JNI. It does not contain "
 100         "<a href=../../api/java.base/java/lang/Thread.html#virtual-threads>virtual threads</a>. "
 101         "Threads that have not yet been started and threads that have completed "
 102         "their execution are also not included in the returned list."
 103         (Out
 104         )
 105         (Reply
 106             (Repeat threads "Number of threads that follow."
 107                 (threadObject thread "A running thread")
 108             )
 109         )
 110         (ErrorSet
 111             (Error VM_DEAD)
 112         )
 113     )
 114     (Command TopLevelThreadGroups=5
 115         "Returns all thread groups that do not have a parent. This command "
 116         "may be used as the first step in building a tree (or trees) of the "
 117         "existing thread groups."
 118         (Out
 119         )
 120         (Reply
 121             (Repeat groups "Number of thread groups that follow."
 122                 (threadGroupObject group "A top level thread group")

 408                      "Can the VM filter events by specific object?")
 409             (boolean canGetSourceDebugExtension
 410                      "Can the VM get the source debug extension?")
 411             (boolean canRequestVMDeathEvent
 412                      "Can the VM request VM death events?")
 413             (boolean canSetDefaultStratum
 414                      "Can the VM set a default stratum?")
 415             (boolean canGetInstanceInfo
 416                      "Can the VM return instances, counts of instances of classes "
 417                      "and referring objects?")
 418             (boolean canRequestMonitorEvents
 419                      "Can the VM request monitor events?")
 420             (boolean canGetMonitorFrameInfo
 421                      "Can the VM get monitors with frame depth info?")
 422             (boolean canUseSourceNameFilters
 423                      "Can the VM filter class prepare events by source name?")
 424             (boolean canGetConstantPool
 425                      "Can the VM return the constant pool information?")
 426             (boolean canForceEarlyReturn
 427                      "Can the VM force early return from a method?")
 428             (boolean supportsVirtualThreads
 429                      "Does the VM support virtual threads, temporary capability")
 430             (boolean reserved23
 431                      "Reserved for future capability")
 432             (boolean reserved24
 433                      "Reserved for future capability")
 434             (boolean reserved25
 435                      "Reserved for future capability")
 436             (boolean reserved26
 437                      "Reserved for future capability")
 438             (boolean reserved27
 439                      "Reserved for future capability")
 440             (boolean reserved28
 441                      "Reserved for future capability")
 442             (boolean reserved29
 443                      "Reserved for future capability")
 444             (boolean reserved30
 445                      "Reserved for future capability")
 446             (boolean reserved31
 447                      "Reserved for future capability")
 448             (boolean reserved32
 449                      "Reserved for future capability")

2124         )
2125         (Reply "none"
2126         )
2127         (ErrorSet
2128             (Error INVALID_THREAD)
2129             (Error INVALID_OBJECT    "Thread or value is not a known ID.")
2130             (Error THREAD_NOT_SUSPENDED)
2131             (Error THREAD_NOT_ALIVE)
2132             (Error OPAQUE_FRAME      "Attempted to return early from "
2133                                      "a frame corresponding to a native "
2134                                      "method. Or the implementation is "
2135                                      "unable to provide this functionality "
2136                                      "on this frame.")
2137             (Error NO_MORE_FRAMES)
2138             (Error NOT_IMPLEMENTED)
2139             (Error TYPE_MISMATCH   "Value is not an appropriate type for the "
2140                                    "return value of the method.")
2141             (Error VM_DEAD)
2142         )
2143     )
2144     (Command IsVirtual=15
2145         "<b>IsVirtual is a preview API of the Java platform.</b> "
2146         "<em>Preview features may be removed in a future release, or upgraded to "
2147         "permanent features of the Java platform.</em>"
2148         "<p>"
2149         "Determine if a thread is a "
2150         "<a href=../../api/java.base/java/lang/Thread.html#virtual-threads>virtual thread</a>."
2151         (Out
2152             (threadObject thread "The thread object ID.")
2153         )
2154         (Reply
2155             (boolean isVirtual "true if the thread is a virtual thread.")
2156         )
2157         (ErrorSet
2158             (Error INVALID_THREAD)
2159             (Error INVALID_OBJECT    "thread is not a known ID.")
2160             (Error VM_DEAD)
2161         )
2162     )
2163 )
2164 (CommandSet ThreadGroupReference=12
2165     (Command Name=1
2166         "Returns the thread group name. "
2167         (Out
2168             (threadGroupObject group "The thread group object ID. ")
2169         )
2170         (Reply
2171             (string groupName "The thread group's name.")
2172         )
2173         (ErrorSet
2174             (Error INVALID_THREAD_GROUP)
2175             (Error INVALID_OBJECT    "group is not a known ID.")
2176             (Error VM_DEAD)
2177         )
2178     )
2179     (Command Parent=2
2180         "Returns the thread group, if any, which contains a given thread group. "
2181         (Out
2182             (threadGroupObject group "The thread group object ID. ")
2183         )
2184         (Reply
2185             (threadGroupObject parentGroup "The parent thread group object, or "
2186                                            "null if the given thread group "
2187                                            "is a top-level thread group")
2188         )
2189         (ErrorSet
2190             (Error INVALID_THREAD_GROUP)
2191             (Error INVALID_OBJECT    "group is not a known ID.")
2192             (Error VM_DEAD)
2193         )
2194     )
2195     (Command Children=3
2196         "Returns the live threads and active thread groups directly contained "
2197         "in this thread group. Virtual threads are not considered live threads "
2198         "in a thread group and are not included. Threads and thread groups in child "
2199         "thread groups are not included. "
2200         "A thread is alive if it has been started and has not yet been stopped. "
2201         "See <a href=../../api/java.base/java/lang/ThreadGroup.html>java.lang.ThreadGroup</a> "
2202         "for information about active ThreadGroups.
2203         (Out
2204             (threadGroupObject group "The thread group object ID. ")
2205         )
2206         (Reply
2207             (Repeat childThreads "The number of live child threads. "
2208                 (threadObject childThread "A direct child thread ID. ")
2209             )
2210             (Repeat childGroups "The number of active child thread groups. "
2211                 (threadGroupObject childGroup "A direct child thread group ID. ")
2212             )
2213         )
2214         (ErrorSet
2215             (Error INVALID_THREAD_GROUP)
2216             (Error INVALID_OBJECT    "group is not a known ID.")
2217             (Error VM_DEAD)
2218         )
2219     )
2220 )
2221 (CommandSet ArrayReference=13

2507                     (Alt SourceNameMatch=12
2508                         "Restricts reported class prepare events to those "
2509                         "for reference types which have a source name "
2510                         "which matches the given restricted regular expression. "
2511                         "The source names are determined by the reference type's "
2512                         "<a href=\"#JDWP_ReferenceType_SourceDebugExtension\"> "
2513                         "SourceDebugExtension</a>. "
2514                         "This modifier can only be used with class prepare "
2515                         "events. "
2516                         "Since JDWP version 1.6. Requires the canUseSourceNameFilters "
2517                         "capability - see "
2518                         "<a href=\"#JDWP_VirtualMachine_CapabilitiesNew\">CapabilitiesNew</a>."
2519 
2520                         (string sourceNamePattern "Required source name pattern. "
2521                                 "Matches are limited to exact matches of the "
2522                                 "given pattern and matches of patterns that "
2523                                 "begin or end with '*'; for example, "
2524                                 "\"*.Foo\" or \"java.*\". "
2525                         )
2526                     )
2527                     (Alt PlatformThreadsOnly=13
2528                         "<b>PlatformThreadsOnly is a preview API of the Java platform.</b> "
2529                         "<em>Preview features may be removed in a future release, or upgraded to "
2530                         "permanent features of the Java platform.</em>"
2531                         "<p>"
2532                         "For thread start and thread end events, restrict the "
2533                         "events so they are only sent for platform threads."
2534                     )
2535 
2536                 )
2537             )
2538         )
2539         (Reply
2540             (int requestID "ID of created request")
2541         )
2542         (ErrorSet
2543             (Error INVALID_THREAD)
2544             (Error INVALID_CLASS)
2545             (Error INVALID_STRING)
2546             (Error INVALID_OBJECT)
2547             (Error INVALID_COUNT)
2548             (Error INVALID_FIELDID)
2549             (Error INVALID_METHODID)
2550             (Error INVALID_LOCATION)
2551             (Error INVALID_EVENT_TYPE)
2552             (Error NOT_IMPLEMENTED)
2553             (Error VM_DEAD)
2554         )

3233     (Constant CLASS_PREPARE          =8   )
3234     (Constant CLASS_UNLOAD           =9   )
3235     (Constant CLASS_LOAD             =10  )
3236     (Constant FIELD_ACCESS           =20  )
3237     (Constant FIELD_MODIFICATION     =21  )
3238     (Constant EXCEPTION_CATCH        =30  )
3239     (Constant METHOD_ENTRY           =40  )
3240     (Constant METHOD_EXIT            =41  )
3241     (Constant METHOD_EXIT_WITH_RETURN_VALUE =42  )
3242     (Constant MONITOR_CONTENDED_ENTER          =43  )
3243     (Constant MONITOR_CONTENDED_ENTERED        =44 )
3244     (Constant MONITOR_WAIT           =45 )
3245     (Constant MONITOR_WAITED         =46 )
3246     (Constant VM_START               =90  )
3247     (Constant VM_INIT                =90  "obsolete - was used in jvmdi")
3248     (Constant VM_DEATH               =99  )
3249     (Constant VM_DISCONNECTED        =100 "Never sent across JDWP")
3250 )
3251 
3252 (ConstantSet ThreadStatus
3253     (Constant ZOMBIE                 =0  "Thread has terminated.")
3254     (Constant RUNNING                =1  "Thread is runnable.")
3255     (Constant SLEEPING               =2  "Thread is sleeping, in Thread.sleep.")
3256     (Constant MONITOR                =3  "Thread is waiting to enter a synchronized block/method "
3257                                          "or, after an Object.wait, waiting to re-enter a "
3258                                          "synchronized block/method.")
3259     (Constant WAIT                   =4  "Thread is waiting, in Object.wait or LockSupport.park. "
3260                                          "A virtual thread that is sleeping in Thread.sleep may "
3261                                          "have this thread status instead of SLEEPING.")
3262 )
3263 
3264 (ConstantSet SuspendStatus
3265     (Constant SUSPEND_STATUS_SUSPENDED = 0x1 )
3266 )
3267 (ConstantSet ClassStatus
3268     (Constant VERIFIED               =1  )
3269     (Constant PREPARED               =2  )
3270     (Constant INITIALIZED            =4  )
3271     (Constant ERROR                  =8  )
3272 )
3273 (ConstantSet TypeTag
3274     (Constant CLASS=1 "ReferenceType is a class. ")
3275     (Constant INTERFACE=2 "ReferenceType is an interface. ")
3276     (Constant ARRAY=3 "ReferenceType is an array. ")
3277 )
3278 (ConstantSet Tag
3279     (Constant ARRAY = '[' "'[' - an array object (objectID size). ")
3280     (Constant BYTE = 'B' "'B' - a byte value (1 byte).")
3281     (Constant CHAR = 'C' "'C' - a character value (2 bytes).")
< prev index next >