< prev index next >

make/data/jdwp/jdwp.spec

Print this page




 379             (boolean canGetBytecodes
 380                      "Can the VM get the bytecodes of a given method? ")
 381             (boolean canGetSyntheticAttribute
 382                      "Can the VM determine whether a field or method is "
 383                      "synthetic? (that is, can the VM determine if the "
 384                      "method or the field was invented by the compiler?) ")
 385             (boolean canGetOwnedMonitorInfo
 386                      "Can the VM get the owned monitors infornation for "
 387                      "a thread?")
 388             (boolean canGetCurrentContendedMonitor
 389                      "Can the VM get the current contended monitor of a thread?")
 390             (boolean canGetMonitorInfo
 391                      "Can the VM get the monitor information for a given object? ")
 392             (boolean canRedefineClasses
 393                      "Can the VM redefine classes?")
 394             (boolean canAddMethod
 395                      "Can the VM add methods when redefining "
 396                      "classes?")
 397             (boolean canUnrestrictedlyRedefineClasses
 398                      "Can the VM redefine classes"
 399                      "in arbitrary ways?")
 400             (boolean canPopFrames
 401                      "Can the VM pop stack frames?")
 402             (boolean canUseInstanceFilters
 403                      "Can the VM filter events by specific object?")
 404             (boolean canGetSourceDebugExtension
 405                      "Can the VM get the source debug extension?")
 406             (boolean canRequestVMDeathEvent
 407                      "Can the VM request VM death events?")
 408             (boolean canSetDefaultStratum
 409                      "Can the VM set a default stratum?")
 410             (boolean canGetInstanceInfo
 411                      "Can the VM return instances, counts of instances of classes "
 412                      "and referring objects?")
 413             (boolean canRequestMonitorEvents
 414                      "Can the VM request monitor events?")
 415             (boolean canGetMonitorFrameInfo
 416                      "Can the VM get monitors with frame depth info?")
 417             (boolean canUseSourceNameFilters
 418                      "Can the VM filter class prepare events by source name?")
 419             (boolean canGetConstantPool


 443             (boolean reserved32
 444                      "Reserved for future capability")
 445         )
 446         (ErrorSet
 447             (Error VM_DEAD)
 448         )
 449     )
 450     (Command RedefineClasses=18
 451         "Installs new class definitions. "
 452         "If there are active stack frames in methods of the redefined classes in the "
 453         "target VM then those active frames continue to run the bytecodes of the "
 454         "original method. These methods are considered obsolete - see "
 455         "<a href=\"#JDWP_Method_IsObsolete\">IsObsolete</a>. The methods in the "
 456         "redefined classes will be used for new invokes in the target VM. "
 457         "The original method ID refers to the redefined method. "
 458         "All breakpoints in the redefined classes are cleared."
 459         "If resetting of stack frames is desired, the "
 460         "<a href=\"#JDWP_StackFrame_PopFrames\">PopFrames</a> command can be used "
 461         "to pop frames with obsolete methods."
 462         "<p>"











 463         "Requires canRedefineClasses capability - see "
 464         "<a href=\"#JDWP_VirtualMachine_CapabilitiesNew\">CapabilitiesNew</a>. "
 465         "In addition to the canRedefineClasses capability, the target VM must "
 466         "have the canAddMethod capability to add methods when redefining classes, "
 467         "or the canUnrestrictedlyRedefineClasses to redefine classes in arbitrary "
 468         "ways."
 469         (Out
 470             (Repeat classes "Number of reference types that follow."
 471                 (Group ClassDef
 472                     (referenceType refType "The reference type.")
 473                     (Repeat classfile "Number of bytes defining class (below)"
 474                          (byte classbyte "byte in JVM class file "
 475                                          "format.")
 476                     )
 477                 )
 478             )
 479         )
 480         (Reply
 481         )
 482         (ErrorSet
 483             (Error INVALID_CLASS    "One of the refTypes is not the ID of a reference "
 484                                     "type.")
 485             (Error INVALID_OBJECT   "One of the refTypes is not a known ID.")
 486             (Error UNSUPPORTED_VERSION)
 487             (Error INVALID_CLASS_FORMAT)
 488             (Error CIRCULAR_CLASS_DEFINITION)
 489             (Error FAILS_VERIFICATION)
 490             (Error NAMES_DONT_MATCH)
 491             (Error NOT_IMPLEMENTED  "No aspect of this functionality is implemented "
 492                                     "(CapabilitiesNew.canRedefineClasses is false)")
 493             (Error ADD_METHOD_NOT_IMPLEMENTED)
 494             (Error SCHEMA_CHANGE_NOT_IMPLEMENTED)
 495             (Error HIERARCHY_CHANGE_NOT_IMPLEMENTED)
 496             (Error DELETE_METHOD_NOT_IMPLEMENTED)
 497             (Error CLASS_MODIFIERS_CHANGE_NOT_IMPLEMENTED)
 498             (Error METHOD_MODIFIERS_CHANGE_NOT_IMPLEMENTED)

 499             (Error VM_DEAD)
 500         )
 501     )
 502     (Command SetDefaultStratum=19
 503         "Set the default stratum. Requires canSetDefaultStratum capability - see "
 504         "<a href=\"#JDWP_VirtualMachine_CapabilitiesNew\">CapabilitiesNew</a>."
 505         (Out
 506             (string stratumID "default stratum, or empty string to use "
 507                               "reference type default.")
 508         )
 509         (Reply
 510         )
 511         (ErrorSet
 512             (Error NOT_IMPLEMENTED)
 513             (Error VM_DEAD)
 514         )
 515     )
 516     (Command AllClassesWithGeneric=20
 517         "Returns reference types for all classes currently loaded by the "
 518         "target VM.  "


3132                                      =63  "Adding methods has not been implemented.")
3133     (Constant SCHEMA_CHANGE_NOT_IMPLEMENTED
3134                                      =64  "Schema change has not been implemented.")
3135     (Constant INVALID_TYPESTATE      =65  "The state of the thread has been modified, "
3136                                           "and is now inconsistent.")
3137     (Constant HIERARCHY_CHANGE_NOT_IMPLEMENTED
3138                                      =66  "A direct superclass is different for the new class "
3139                                           "version, or the set of directly implemented "
3140                                           "interfaces is different "
3141                                           "and canUnrestrictedlyRedefineClasses is false.")
3142     (Constant DELETE_METHOD_NOT_IMPLEMENTED
3143                                      =67  "The new class version does not declare a method "
3144                                           "declared in the old class version "
3145                                           "and canUnrestrictedlyRedefineClasses is false.")
3146     (Constant UNSUPPORTED_VERSION    =68  "A class file has a version number not supported "
3147                                           "by this VM.")
3148     (Constant NAMES_DONT_MATCH       =69  "The class name defined in the new class file is "
3149                                           "different from the name in the old class object.")
3150     (Constant CLASS_MODIFIERS_CHANGE_NOT_IMPLEMENTED
3151                                      =70  "The new class version has different modifiers and "
3152                                           "and canUnrestrictedlyRedefineClasses is false.")
3153     (Constant METHOD_MODIFIERS_CHANGE_NOT_IMPLEMENTED
3154                                      =71  "A method in the new class version has "
3155                                           "different modifiers "
3156                                           "than its counterpart in the old class version and "
3157                                           "and canUnrestrictedlyRedefineClasses is false.")




3158     (Constant NOT_IMPLEMENTED        =99  "The functionality is not implemented in "
3159                                           "this virtual machine.")
3160     (Constant NULL_POINTER           =100 "Invalid pointer.")
3161     (Constant ABSENT_INFORMATION     =101 "Desired information is not available.")
3162     (Constant INVALID_EVENT_TYPE     =102 "The specified event type id is not recognized.")
3163     (Constant ILLEGAL_ARGUMENT       =103 "Illegal argument.")
3164     (Constant OUT_OF_MEMORY          =110 "The function needed to allocate memory and "
3165                                           "no more memory was available for allocation.")
3166     (Constant ACCESS_DENIED          =111 "Debugging has not been enabled in this "
3167                                           "virtual machine. JVMTI cannot be used.")
3168     (Constant VM_DEAD                =112 "The virtual machine is not running.")
3169     (Constant INTERNAL               =113 "An unexpected internal error has occurred.")
3170     (Constant UNATTACHED_THREAD      =115 "The thread being used to call this function "
3171                                           "is not attached to the virtual machine. "
3172                                           "Calls must be made from attached threads.")
3173     (Constant INVALID_TAG            =500 "object type id or class tag.")
3174     (Constant ALREADY_INVOKING       =502 "Previous invoke not complete.")
3175     (Constant INVALID_INDEX          =503 "Index is invalid.")
3176     (Constant INVALID_LENGTH         =504 "The length is invalid.")
3177     (Constant INVALID_STRING         =506 "The string is invalid.")




 379             (boolean canGetBytecodes
 380                      "Can the VM get the bytecodes of a given method? ")
 381             (boolean canGetSyntheticAttribute
 382                      "Can the VM determine whether a field or method is "
 383                      "synthetic? (that is, can the VM determine if the "
 384                      "method or the field was invented by the compiler?) ")
 385             (boolean canGetOwnedMonitorInfo
 386                      "Can the VM get the owned monitors infornation for "
 387                      "a thread?")
 388             (boolean canGetCurrentContendedMonitor
 389                      "Can the VM get the current contended monitor of a thread?")
 390             (boolean canGetMonitorInfo
 391                      "Can the VM get the monitor information for a given object? ")
 392             (boolean canRedefineClasses
 393                      "Can the VM redefine classes?")
 394             (boolean canAddMethod
 395                      "Can the VM add methods when redefining "
 396                      "classes?")
 397             (boolean canUnrestrictedlyRedefineClasses
 398                      "Can the VM redefine classes"
 399                      "in ways that are normally restricted?")
 400             (boolean canPopFrames
 401                      "Can the VM pop stack frames?")
 402             (boolean canUseInstanceFilters
 403                      "Can the VM filter events by specific object?")
 404             (boolean canGetSourceDebugExtension
 405                      "Can the VM get the source debug extension?")
 406             (boolean canRequestVMDeathEvent
 407                      "Can the VM request VM death events?")
 408             (boolean canSetDefaultStratum
 409                      "Can the VM set a default stratum?")
 410             (boolean canGetInstanceInfo
 411                      "Can the VM return instances, counts of instances of classes "
 412                      "and referring objects?")
 413             (boolean canRequestMonitorEvents
 414                      "Can the VM request monitor events?")
 415             (boolean canGetMonitorFrameInfo
 416                      "Can the VM get monitors with frame depth info?")
 417             (boolean canUseSourceNameFilters
 418                      "Can the VM filter class prepare events by source name?")
 419             (boolean canGetConstantPool


 443             (boolean reserved32
 444                      "Reserved for future capability")
 445         )
 446         (ErrorSet
 447             (Error VM_DEAD)
 448         )
 449     )
 450     (Command RedefineClasses=18
 451         "Installs new class definitions. "
 452         "If there are active stack frames in methods of the redefined classes in the "
 453         "target VM then those active frames continue to run the bytecodes of the "
 454         "original method. These methods are considered obsolete - see "
 455         "<a href=\"#JDWP_Method_IsObsolete\">IsObsolete</a>. The methods in the "
 456         "redefined classes will be used for new invokes in the target VM. "
 457         "The original method ID refers to the redefined method. "
 458         "All breakpoints in the redefined classes are cleared."
 459         "If resetting of stack frames is desired, the "
 460         "<a href=\"#JDWP_StackFrame_PopFrames\">PopFrames</a> command can be used "
 461         "to pop frames with obsolete methods."
 462         "<p>"
 463         "Unless the canUnrestrictedlyRedefineClasses capability is present the following "
 464         "redefinitions are restricted: "
 465         "<ul>"
 466         "<li>changing the schema (the fields)</li>"
 467         "<li>changing the hierarchy (superclasses, interfaces)</li>"
 468         "<li>deleting a method</li>"
 469         "<li>changing class modifiers</li>"
 470         "<li>changing method modifiers</li>"
 471         "<li>changing the <code>NestHost</code> or <code>NestMembers</code> class attributes</li>"
 472         "</ul>"
 473         "<p>"
 474         "Requires canRedefineClasses capability - see "
 475         "<a href=\"#JDWP_VirtualMachine_CapabilitiesNew\">CapabilitiesNew</a>. "
 476         "In addition to the canRedefineClasses capability, the target VM must "
 477         "have the canAddMethod capability to add methods when redefining classes, "
 478         "or the canUnrestrictedlyRedefineClasses capability to redefine classes in ways "
 479         "that are normally restricted."
 480         (Out
 481             (Repeat classes "Number of reference types that follow."
 482                 (Group ClassDef
 483                     (referenceType refType "The reference type.")
 484                     (Repeat classfile "Number of bytes defining class (below)"
 485                          (byte classbyte "byte in JVM class file "
 486                                          "format.")
 487                     )
 488                 )
 489             )
 490         )
 491         (Reply
 492         )
 493         (ErrorSet
 494             (Error INVALID_CLASS    "One of the refTypes is not the ID of a reference "
 495                                     "type.")
 496             (Error INVALID_OBJECT   "One of the refTypes is not a known ID.")
 497             (Error UNSUPPORTED_VERSION)
 498             (Error INVALID_CLASS_FORMAT)
 499             (Error CIRCULAR_CLASS_DEFINITION)
 500             (Error FAILS_VERIFICATION)
 501             (Error NAMES_DONT_MATCH)
 502             (Error NOT_IMPLEMENTED  "No aspect of this functionality is implemented "
 503                                     "(CapabilitiesNew.canRedefineClasses is false)")
 504             (Error ADD_METHOD_NOT_IMPLEMENTED)
 505             (Error SCHEMA_CHANGE_NOT_IMPLEMENTED)
 506             (Error HIERARCHY_CHANGE_NOT_IMPLEMENTED)
 507             (Error DELETE_METHOD_NOT_IMPLEMENTED)
 508             (Error CLASS_MODIFIERS_CHANGE_NOT_IMPLEMENTED)
 509             (Error METHOD_MODIFIERS_CHANGE_NOT_IMPLEMENTED)
 510             (Error CLASS_ATTRIBUTE_CHANGE_NOT_IMPLEMENTED)
 511             (Error VM_DEAD)
 512         )
 513     )
 514     (Command SetDefaultStratum=19
 515         "Set the default stratum. Requires canSetDefaultStratum capability - see "
 516         "<a href=\"#JDWP_VirtualMachine_CapabilitiesNew\">CapabilitiesNew</a>."
 517         (Out
 518             (string stratumID "default stratum, or empty string to use "
 519                               "reference type default.")
 520         )
 521         (Reply
 522         )
 523         (ErrorSet
 524             (Error NOT_IMPLEMENTED)
 525             (Error VM_DEAD)
 526         )
 527     )
 528     (Command AllClassesWithGeneric=20
 529         "Returns reference types for all classes currently loaded by the "
 530         "target VM.  "


3144                                      =63  "Adding methods has not been implemented.")
3145     (Constant SCHEMA_CHANGE_NOT_IMPLEMENTED
3146                                      =64  "Schema change has not been implemented.")
3147     (Constant INVALID_TYPESTATE      =65  "The state of the thread has been modified, "
3148                                           "and is now inconsistent.")
3149     (Constant HIERARCHY_CHANGE_NOT_IMPLEMENTED
3150                                      =66  "A direct superclass is different for the new class "
3151                                           "version, or the set of directly implemented "
3152                                           "interfaces is different "
3153                                           "and canUnrestrictedlyRedefineClasses is false.")
3154     (Constant DELETE_METHOD_NOT_IMPLEMENTED
3155                                      =67  "The new class version does not declare a method "
3156                                           "declared in the old class version "
3157                                           "and canUnrestrictedlyRedefineClasses is false.")
3158     (Constant UNSUPPORTED_VERSION    =68  "A class file has a version number not supported "
3159                                           "by this VM.")
3160     (Constant NAMES_DONT_MATCH       =69  "The class name defined in the new class file is "
3161                                           "different from the name in the old class object.")
3162     (Constant CLASS_MODIFIERS_CHANGE_NOT_IMPLEMENTED
3163                                      =70  "The new class version has different modifiers and "
3164                                           "canUnrestrictedlyRedefineClasses is false.")
3165     (Constant METHOD_MODIFIERS_CHANGE_NOT_IMPLEMENTED
3166                                      =71  "A method in the new class version has "
3167                                           "different modifiers "
3168                                           "than its counterpart in the old class version and "
3169                                           "canUnrestrictedlyRedefineClasses is false.")
3170     (Constant CLASS_ATTRIBUTE_CHANGE_NOT_IMPLEMENTED
3171                                      =72  "The new class version has different NestHost or "
3172                                           "NestMembers class attribute and "
3173                                           "canUnrestrictedlyRedefineClasses is false.")
3174     (Constant NOT_IMPLEMENTED        =99  "The functionality is not implemented in "
3175                                           "this virtual machine.")
3176     (Constant NULL_POINTER           =100 "Invalid pointer.")
3177     (Constant ABSENT_INFORMATION     =101 "Desired information is not available.")
3178     (Constant INVALID_EVENT_TYPE     =102 "The specified event type id is not recognized.")
3179     (Constant ILLEGAL_ARGUMENT       =103 "Illegal argument.")
3180     (Constant OUT_OF_MEMORY          =110 "The function needed to allocate memory and "
3181                                           "no more memory was available for allocation.")
3182     (Constant ACCESS_DENIED          =111 "Debugging has not been enabled in this "
3183                                           "virtual machine. JVMTI cannot be used.")
3184     (Constant VM_DEAD                =112 "The virtual machine is not running.")
3185     (Constant INTERNAL               =113 "An unexpected internal error has occurred.")
3186     (Constant UNATTACHED_THREAD      =115 "The thread being used to call this function "
3187                                           "is not attached to the virtual machine. "
3188                                           "Calls must be made from attached threads.")
3189     (Constant INVALID_TAG            =500 "object type id or class tag.")
3190     (Constant ALREADY_INVOKING       =502 "Previous invoke not complete.")
3191     (Constant INVALID_INDEX          =503 "Index is invalid.")
3192     (Constant INVALID_LENGTH         =504 "The length is invalid.")
3193     (Constant INVALID_STRING         =506 "The string is invalid.")


< prev index next >