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 " |