📄 jdwp.spec
字号:
"for each method in a reference type. " "Inherited methodss are not included. The list of methods will " "include constructors (identified with the name \"<init>\"), " "the initialization method (identified with the name \"<clinit>\") " "if present, and any synthetic methods created by the compiler. " "Methods are returned in the order they occur in the class file. " "Generic signatures are described in the signature attribute " "section in the " "<a href=\"http://java.sun.com/docs/books/vmspec\"> "Java Virtual Machine Specification, 3rd Edition.</a> " "Since JDWP version 1.5." (Out (referenceType refType "The reference type ID.") ) (Reply (Repeat declared "Number of declared methods." (Group MethodInfo (method methodID "Method ID.") (string name "The name of the method.") (string signature "The JNI signature of the method.") (string genericSignature "The generic signature of the method, or " "an empty string if there is none.") (int modBits "The modifier bit flags (also known as access flags) " "which provide additional information on the " "method declaration. Individual flag values are " "defined in the " "<a href=\"http://java.sun.com/docs/books/vmspec/html/ClassFile.doc.html\">VM Specification</a>." "In addition, The <code>0xf0000000</code> bit identifies " "the method as synthetic, if the synthetic attribute " "<a href=\"#JDWP_VirtualMachine_Capabilities\">capability</a> is available.") ) ) ) (ErrorSet (Error CLASS_NOT_PREPARED) (Error INVALID_CLASS "refType is not the ID of a reference " "type.") (Error INVALID_OBJECT "refType is not a known ID.") (Error VM_DEAD) ) ) (Command Instances=16 "Returns instances of this reference type. " "Only instances that are reachable for the purposes of " "garbage collection are returned. " "<p>Since JDWP version 1.6. Requires canGetInstanceInfo capability - see " "<a href=\"#JDWP_VirtualMachine_CapabilitiesNew\">CapabilitiesNew</a>." (Out (referenceType refType "The reference type ID.") (int maxInstances "Maximum number of instances to return. Must be non-negative. " "If zero, all instances are returned.") ) (Reply (Repeat instances "The number of instances that follow." (tagged-object instance "An instance of this reference type.") ) ) (ErrorSet (Error INVALID_CLASS "refType is not the ID of a reference " "type.") (Error INVALID_OBJECT "refType is not a known ID.") (Error ILLEGAL_ARGUMENT "maxInstances is less than zero.") (Error NOT_IMPLEMENTED) (Error VM_DEAD) ) ) (Command ClassFileVersion=17 "Returns the class file major and minor version numbers, as defined in the class " "file format of the Java Virtual Machine specification. " "<p>Since JDWP version 1.6. " (Out (referenceType refType "The class.") ) (Reply (int majorVersion "Major version number") (int minorVersion "Minor version number") ) (ErrorSet (Error INVALID_CLASS "refType is not the ID of a reference " "type.") (Error INVALID_OBJECT "refType is not a known ID.") (Error ABSENT_INFORMATION "The class file version information is " "absent for primitive and array types.") (Error VM_DEAD) ) ) (Command ConstantPool=18 "Return the raw bytes of the constant pool in the format of the " "constant_pool item of the Class File Format in the " "Java Virtual Machine Specification. " "<p>Since JDWP version 1.6. Requires canGetConstantPool capability - see " "<a href=\"#JDWP_VirtualMachine_CapabilitiesNew\">CapabilitiesNew</a>."" (Out (referenceType refType "The class.") ) (Reply (int count "Total number of constant pool entries") (Repeat bytes (byte cpbytes "Raw bytes of constant pool") ) ) (ErrorSet (Error INVALID_CLASS "refType is not the ID of a reference " "type.") (Error INVALID_OBJECT "refType is not a known ID.") (Error NOT_IMPLEMENTED "If the target virtual machine does not " "support the retrieval of constant pool information.") (Error ABSENT_INFORMATION "The Constant Pool information is " "absent for primitive and array types.") (Error VM_DEAD) ) ))(CommandSet ClassType=3 (Command Superclass=1 "Returns the immediate superclass of a class." (Out (classType clazz "The class type ID.") ) (Reply (classType superclass "The superclass (null if the class ID for java.lang.Object is specified).") ) (ErrorSet (Error INVALID_CLASS "clazz is not the ID of a class.") (Error INVALID_OBJECT "clazz is not a known ID.") (Error VM_DEAD) ) ) (Command SetValues=2 "Sets the value of one or more static fields. " "Each field must be member of the class type " "or one of its superclasses, superinterfaces, or implemented interfaces. " "Access control is not enforced; for example, the values of private " "fields can be set. Final fields cannot be set." "For primitive values, the value's type must match the " "field's type exactly. For object values, there must exist a " "widening reference conversion from the value's type to the "field's type and the field's type must be loaded. " (Out (classType clazz "The class type ID.") (Repeat values "The number of fields to set." (Group FieldValue "A Field/Value pair." (field fieldID "Field to set.") (untagged-value value "Value to put in the field.") ) ) ) (Reply "none" ) (ErrorSet (Error INVALID_CLASS "clazz is not the ID of a class.") (Error CLASS_NOT_PREPARED) (Error INVALID_OBJECT "clazz is not a known ID or a value of an " "object field is not a known ID.") (Error INVALID_FIELDID) (Error VM_DEAD) ) ) (Command InvokeMethod=3 "Invokes a static method. " "The method must be member of the class type " "or one of its superclasses, superinterfaces, or implemented interfaces. " "Access control is not enforced; for example, private " "methods can be invoked." "<p>" "The method invocation will occur in the specified thread. " "Method invocation can occur only if the specified thread " "has been suspended by an event. " "Method invocation is not supported " "when the target VM has been suspended by the front-end. " "<p>" "The specified method is invoked with the arguments in the specified " "argument list. " "The method invocation is synchronous; the reply packet is not " "sent until the invoked method returns in the target VM. " "The return value (possibly the void value) is " "included in the reply packet. " "If the invoked method throws an exception, the " "exception object ID is set in the reply packet; otherwise, the " "exception object ID is null. " "<p>" "For primitive arguments, the argument value's type must match the " "argument's type exactly. For object arguments, there must exist a " "widening reference conversion from the argument value's type to the " "argument's type and the argument's type must be loaded. " "<p>" "By default, all threads in the target VM are resumed while " "the method is being invoked if they were previously " "suspended by an event or by command. " "This is done to prevent the deadlocks " "that will occur if any of the threads own monitors " "that will be needed by the invoked method. It is possible that " "breakpoints or other events might occur during the invocation. " "Note, however, that this implicit resume acts exactly like " "the ThreadReference resume command, so if the thread's suspend " "count is greater than 1, it will remain in a suspended state " "during the invocation. By default, when the invocation completes, " "all threads in the target VM are suspended, regardless their state " "before the invocation. " "<p>" "The resumption of other threads during the invoke can be prevented " "by specifying the INVOKE_SINGLE_THREADED " "bit flag in the <code>options</code> field; however, " "there is no protection against or recovery from the deadlocks " "described above, so this option should be used with great caution. " "Only the specified thread will be resumed (as described for all " "threads above). Upon completion of a single threaded invoke, the invoking thread " "will be suspended once again. Note that any threads started during " "the single threaded invocation will not be suspended when the " "invocation completes. " "<p>" "If the target VM is disconnected during the invoke (for example, through " "the VirtualMachine dispose command) the method invocation continues. " (Out (classType clazz "The class type ID.") (threadObject thread "The thread in which to invoke.") (method methodID "The method to invoke.") (Repeat arguments (value arg "The argument value.") ) (int options "Invocation <a href=\"#JDWP_InvokeOptions\">options</a>") ) (Reply (value returnValue "The returned value.") (tagged-object exception "The thrown exception.") ) (ErrorSet (Error INVALID_CLASS "clazz is not the ID of a class.") (Error INVALID_OBJECT "clazz is not a known ID.") (Error INVALID_METHODID "methodID is not the ID of a method.") (Error INVALID_THREAD) (Error THREAD_NOT_SUSPENDED) (Error VM_DEAD) ) ) (Command NewInstance=4 "Creates a new object of this type, invoking the specified " "constructor. The constructor method ID must be a member of " "the class type." "<p>" "Instance creation will occur in the specified thread. " "Instance creation can occur only if the specified thread " "has been suspended by an event. " "Method invocation is not supported " "when the target VM has been suspended by the front-end. " "<p>" "The specified constructor is invoked with the arguments in the specified " "argument list. " "The constructor invocation is synchronous; the reply packet is not " "sent until the invoked method returns in the target VM. " "The return value (possibly the void value) is " "included in the reply packet. " "If the constructor throws an exception, the " "exception object ID is set in the reply packet; otherwise, the " "exception object ID is null. " "<p>" "For primitive arguments, the argument value's type must match the " "argument's type exactly. For object arguments, there must exist a " "widening reference conversion from the argument value's type to the " "argument's type and the argument's type must be loaded. " "<p>" "By default, all threads in the target VM are resumed while " "the method is being invoked if they were previously " "suspended by an event or by command. " "This is done to prevent the deadlocks " "that will occur if any of the threads own monitors " "that will be needed by the invoked method. It is possible that " "breakpoints or other events might occur during the invocation. " "Note, however, that this implicit resume acts exactly like " "the ThreadReference resume command, so if the thread's suspend " "count is greater than 1, it will remain in a suspended state " "during the invocation. By default, when the invocation completes, " "all threads in the target VM are suspended, regardless their state " "before the invocation. " "<p>" "The resumption of other threads during the invoke can be prevented " "by specifying the INVOKE_SINGLE_THREADED " "bit flag in the <code>options</code> field; however, " "there is no protection against or recovery from the deadlocks " "described above, so this option should be used with great caution. " "Only the specified thread will be resumed (as described for all " "threads above). Upon completion of a single threaded invoke, the invoking thread " "will be suspended once again. Note that any threads started during " "the single threaded invocation will not be suspended when the " "invocation completes. " "<p>" "If the target VM is disconnected during the invoke (for example, through " "the VirtualMachine dispose command) the method invocation continues. " (Out (classType clazz "The class type ID.") (threadObject thread "The thread in which to invoke the constructor.") (method methodID "The constructor to invoke.") (Repeat arguments (value arg "The argument value.") ) (int options "Constructor invocation <a href=\"#JDWP_InvokeOptions\">options</a>") ) (Reply (tagged-object newObject "The newly created object, or null " "if the constructor threw an exception.") (tagged-object exception "The thrown exception, if any; otherwise, null.") ) (ErrorSet (Error INVALID_CLASS "clazz is not the ID of a class.") (Error INVALID_OBJECT "clazz is not a known ID or a value of an " "object parameter is not a known ID..")
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -