jdk/make/data/jdwp/jdwp.spec
changeset 24125 b85eeaae56c7
parent 23885 27c54417e228
child 24127 5d05d4c0de7f
equal deleted inserted replaced
24124:5f5f7f7a4328 24125:b85eeaae56c7
  1145             (tagged-object exception "The thrown exception.")
  1145             (tagged-object exception "The thrown exception.")
  1146         )
  1146         )
  1147         (ErrorSet
  1147         (ErrorSet
  1148             (Error INVALID_CLASS     "clazz is not the ID of a class.")
  1148             (Error INVALID_CLASS     "clazz is not the ID of a class.")
  1149             (Error INVALID_OBJECT    "clazz is not a known ID.")
  1149             (Error INVALID_OBJECT    "clazz is not a known ID.")
  1150             (Error INVALID_METHODID  "methodID is not the ID of a method.")
  1150             (Error INVALID_METHODID  "methodID is not the ID of a static method in "
       
  1151                                      "this class type or one of its superclasses.")
  1151             (Error INVALID_THREAD)
  1152             (Error INVALID_THREAD)
  1152             (Error THREAD_NOT_SUSPENDED)
  1153             (Error THREAD_NOT_SUSPENDED)
  1153             (Error VM_DEAD)
  1154             (Error VM_DEAD)
  1154         )
  1155         )
  1155     )
  1156     )
  1248             (Error VM_DEAD)
  1249             (Error VM_DEAD)
  1249         )
  1250         )
  1250     )
  1251     )
  1251 )
  1252 )
  1252 (CommandSet InterfaceType=5
  1253 (CommandSet InterfaceType=5
       
  1254     (Command InvokeMethod=1
       
  1255         "Invokes a static method. "
       
  1256         "The method must not be a static initializer. "
       
  1257         "The method must be a member of the interface type. "
       
  1258         "<p>Since JDWP version 1.8 "
       
  1259         "<p>"
       
  1260         "The method invocation will occur in the specified thread. "
       
  1261         "Method invocation can occur only if the specified thread "
       
  1262         "has been suspended by an event. "
       
  1263         "Method invocation is not supported "
       
  1264         "when the target VM has been suspended by the front-end. "
       
  1265         "<p>"
       
  1266         "The specified method is invoked with the arguments in the specified "
       
  1267         "argument list. "
       
  1268         "The method invocation is synchronous; the reply packet is not "
       
  1269         "sent until the invoked method returns in the target VM. "
       
  1270         "The return value (possibly the void value) is "
       
  1271         "included in the reply packet. "
       
  1272         "If the invoked method throws an exception, the "
       
  1273         "exception object ID is set in the reply packet; otherwise, the "
       
  1274         "exception object ID is null. "
       
  1275         "<p>"
       
  1276         "For primitive arguments, the argument value's type must match the "
       
  1277         "argument's type exactly. For object arguments, there must exist a "
       
  1278         "widening reference conversion from the argument value's type to the "
       
  1279         "argument's type and the argument's type must be loaded. "
       
  1280         "<p>"
       
  1281         "By default, all threads in the target VM are resumed while "
       
  1282         "the method is being invoked if they were previously "
       
  1283         "suspended by an event or by a command. "
       
  1284         "This is done to prevent the deadlocks "
       
  1285         "that will occur if any of the threads own monitors "
       
  1286         "that will be needed by the invoked method. It is possible that "
       
  1287         "breakpoints or other events might occur during the invocation. "
       
  1288         "Note, however, that this implicit resume acts exactly like "
       
  1289         "the ThreadReference resume command, so if the thread's suspend "
       
  1290         "count is greater than 1, it will remain in a suspended state "
       
  1291         "during the invocation. By default, when the invocation completes, "
       
  1292         "all threads in the target VM are suspended, regardless their state "
       
  1293         "before the invocation. "
       
  1294         "<p>"
       
  1295         "The resumption of other threads during the invoke can be prevented "
       
  1296         "by specifying the INVOKE_SINGLE_THREADED "
       
  1297         "bit flag in the <code>options</code> field; however, "
       
  1298         "there is no protection against or recovery from the deadlocks "
       
  1299         "described above, so this option should be used with great caution. "
       
  1300         "Only the specified thread will be resumed (as described for all "
       
  1301         "threads above). Upon completion of a single threaded invoke, the invoking thread "
       
  1302         "will be suspended once again. Note that any threads started during "
       
  1303         "the single threaded invocation will not be suspended when the "
       
  1304         "invocation completes. "
       
  1305         "<p>"
       
  1306         "If the target VM is disconnected during the invoke (for example, through "
       
  1307         "the VirtualMachine dispose command) the method invocation continues. "
       
  1308         (Out
       
  1309             (interfaceType clazz "The interface type ID.")
       
  1310             (threadObject thread "The thread in which to invoke.")
       
  1311             (method methodID "The method to invoke.")
       
  1312             (Repeat arguments
       
  1313                 (value arg "The argument value.")
       
  1314             )
       
  1315             (int options "Invocation <a href=\"#JDWP_InvokeOptions\">options</a>")
       
  1316         )
       
  1317         (Reply
       
  1318             (value returnValue "The returned value.")
       
  1319             (tagged-object exception "The thrown exception.")
       
  1320         )
       
  1321         (ErrorSet
       
  1322             (Error INVALID_CLASS     "clazz is not the ID of an interface.")
       
  1323             (Error INVALID_OBJECT    "clazz is not a known ID.")
       
  1324             (Error INVALID_METHODID  "methodID is not the ID of a static method in this "
       
  1325                                      "interface type or is the ID of a static initializer.")
       
  1326             (Error INVALID_THREAD)
       
  1327             (Error THREAD_NOT_SUSPENDED)
       
  1328             (Error VM_DEAD)
       
  1329         )
       
  1330     )
  1253 )
  1331 )
  1254 (CommandSet Method=6
  1332 (CommandSet Method=6
  1255     (Command LineTable=1
  1333     (Command LineTable=1
  1256         "Returns line number information for the method, if present. "
  1334         "Returns line number information for the method, if present. "
  1257         "The line table maps source line numbers to the initial code index "
  1335         "The line table maps source line numbers to the initial code index "
  1541         "widening reference conversion from the argument value's type to the "
  1619         "widening reference conversion from the argument value's type to the "
  1542         "argument's type and the argument's type must be loaded. "
  1620         "argument's type and the argument's type must be loaded. "
  1543         "<p>"
  1621         "<p>"
  1544         "By default, all threads in the target VM are resumed while "
  1622         "By default, all threads in the target VM are resumed while "
  1545         "the method is being invoked if they were previously "
  1623         "the method is being invoked if they were previously "
  1546         "suspended by an event or by command. "
  1624         "suspended by an event or by a command. "
  1547         "This is done to prevent the deadlocks "
  1625         "This is done to prevent the deadlocks "
  1548         "that will occur if any of the threads own monitors "
  1626         "that will occur if any of the threads own monitors "
  1549         "that will be needed by the invoked method. It is possible that "
  1627         "that will be needed by the invoked method. It is possible that "
  1550         "breakpoints or other events might occur during the invocation. "
  1628         "breakpoints or other events might occur during the invocation. "
  1551         "Note, however, that this implicit resume acts exactly like "
  1629         "Note, however, that this implicit resume acts exactly like "
  1584         )
  1662         )
  1585         (ErrorSet
  1663         (ErrorSet
  1586             (Error INVALID_OBJECT)
  1664             (Error INVALID_OBJECT)
  1587             (Error INVALID_CLASS     "clazz is not the ID of a reference "
  1665             (Error INVALID_CLASS     "clazz is not the ID of a reference "
  1588                                      "type.")
  1666                                      "type.")
  1589             (Error INVALID_METHODID  "methodID is not the ID of a method.")
  1667             (Error INVALID_METHODID  "methodID is not the ID of an instance method "
       
  1668                                      "in this object's type or one of its superclasses, "
       
  1669                                      "superinterfaces, or implemented interfaces.")
  1590             (Error INVALID_THREAD)
  1670             (Error INVALID_THREAD)
  1591             (Error THREAD_NOT_SUSPENDED)
  1671             (Error THREAD_NOT_SUSPENDED)
  1592             (Error VM_DEAD)
  1672             (Error VM_DEAD)
  1593         )
  1673         )
  1594     )
  1674     )