|
" 2013 FRC Java API " |
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectcom.sun.squawk.debugger.JDWP
public class JDWP
Java(tm) Debug Wire Protocol
Field Summary | |
---|---|
static int |
ArrayReference_COMMAND_SET
|
static int |
ArrayReference_GetValues_COMMAND
Returns a range of array components. |
static int |
ArrayReference_Length_COMMAND
Returns the number of components in a given array. |
static int |
ArrayReference_SetValues_COMMAND
Sets a range of array components. |
static int |
ArrayType_COMMAND_SET
|
static int |
ArrayType_NewInstance_COMMAND
Creates a new array object of this type with a given length. |
static int |
ClassLoaderReference_COMMAND_SET
|
static int |
ClassLoaderReference_VisibleClasses_COMMAND
Returns a list of all classes which this class loader has been requested to load. |
static int |
ClassObjectReference_COMMAND_SET
|
static int |
ClassObjectReference_ReflectedType_COMMAND
Returns the reference type reflected by this class object. |
static int |
ClassStatus_ERROR
|
static int |
ClassStatus_INITIALIZED
|
static int |
ClassStatus_PREPARED
|
static int |
ClassStatus_VERIFIED
|
static int |
ClassStatus_VERIFIED_PREPARED_INITIALIZED
|
static int |
ClassType_COMMAND_SET
|
static int |
ClassType_InvokeMethod_COMMAND
Invokes a static method. |
static int |
ClassType_NewInstance_COMMAND
Creates a new object of this type, invoking the specified constructor. |
static int |
ClassType_SetValues_COMMAND
Sets the value of one or more static fields. |
static int |
ClassType_Superclass_COMMAND
Returns the immediate superclass of a class. |
static int |
Error_ABSENT_INFORMATION
|
static int |
Error_ACCESS_DENIED
|
static int |
Error_ADD_METHOD_NOT_IMPLEMENTED
|
static int |
Error_ALREADY_INVOKING
|
static int |
Error_CIRCULAR_CLASS_DEFINITION
|
static int |
Error_CLASS_MODIFIERS_CHANGE_NOT_IMPLEMENTED
|
static int |
Error_CLASS_NOT_PREPARED
|
static int |
Error_DELETE_METHOD_NOT_IMPLEMENTED
|
static int |
Error_DUPLICATE
|
static int |
Error_FAILS_VERIFICATION
|
static int |
Error_HIERARCHY_CHANGE_NOT_IMPLEMENTED
|
static int |
Error_ILLEGAL_ARGUMENT
|
static int |
Error_INTERNAL
|
static int |
Error_INTERRUPT
|
static int |
Error_INVALID_ARRAY
|
static int |
Error_INVALID_CLASS
|
static int |
Error_INVALID_CLASS_FORMAT
|
static int |
Error_INVALID_CLASS_LOADER
|
static int |
Error_INVALID_COUNT
|
static int |
Error_INVALID_EVENT_TYPE
|
static int |
Error_INVALID_FIELDID
|
static int |
Error_INVALID_FRAMEID
|
static int |
Error_INVALID_INDEX
|
static int |
Error_INVALID_LENGTH
|
static int |
Error_INVALID_LOCATION
|
static int |
Error_INVALID_METHODID
|
static int |
Error_INVALID_MONITOR
|
static int |
Error_INVALID_OBJECT
|
static int |
Error_INVALID_PRIORITY
|
static int |
Error_INVALID_SLOT
|
static int |
Error_INVALID_STRING
|
static int |
Error_INVALID_TAG
|
static int |
Error_INVALID_THREAD
|
static int |
Error_INVALID_THREAD_GROUP
|
static int |
Error_INVALID_TYPESTATE
|
static int |
Error_METHOD_MODIFIERS_CHANGE_NOT_IMPLEMENTED
|
static int |
Error_NAMES_DONT_MATCH
|
static int |
Error_NATIVE_METHOD
|
static int |
Error_NO_MORE_FRAMES
|
static int |
Error_NONE
|
static int |
Error_NOT_CURRENT_FRAME
|
static int |
Error_NOT_FOUND
|
static int |
Error_NOT_IMPLEMENTED
|
static int |
Error_NOT_MONITOR_OWNER
|
static int |
Error_NULL_POINTER
|
static int |
Error_OPAQUE_FRAME
|
static int |
Error_OUT_OF_MEMORY
|
static int |
Error_SCHEMA_CHANGE_NOT_IMPLEMENTED
|
static int |
Error_THREAD_NOT_SUSPENDED
|
static int |
Error_THREAD_SUSPENDED
|
static int |
Error_TRANSPORT_INIT
|
static int |
Error_TRANSPORT_LOAD
|
static int |
Error_TYPE_MISMATCH
|
static int |
Error_UNATTACHED_THREAD
|
static int |
Error_UNSUPPORTED_VERSION
|
static int |
Error_VM_DEAD
|
static int |
Event_COMMAND_SET
|
static int |
Event_Composite_COMMAND
Several events may occur at a given time in the target VM. |
static int |
EventKind_BREAKPOINT
|
static int |
EventKind_CLASS_LOAD
|
static int |
EventKind_CLASS_PREPARE
|
static int |
EventKind_CLASS_UNLOAD
|
static int |
EventKind_EXCEPTION
|
static int |
EventKind_EXCEPTION_CATCH
|
static int |
EventKind_FIELD_ACCESS
|
static int |
EventKind_FIELD_MODIFICATION
|
static int |
EventKind_FRAME_POP
|
static int |
EventKind_METHOD_ENTRY
|
static int |
EventKind_METHOD_EXIT
|
static int |
EventKind_SINGLE_STEP
|
static int |
EventKind_THREAD_DEATH
|
static int |
EventKind_THREAD_END
|
static int |
EventKind_THREAD_START
|
static int |
EventKind_USER_DEFINED
|
static int |
EventKind_VM_DEATH
|
static int |
EventKind_VM_DISCONNECTED
|
static int |
EventKind_VM_INIT
|
static int |
EventKind_VM_START
|
static int |
EventRequest_Clear_COMMAND
Clear an event request. |
static int |
EventRequest_ClearAllBreakpoints_COMMAND
Removes all set breakpoints. |
static int |
EventRequest_COMMAND_SET
|
static int |
EventRequest_MOD_CLASS_EXCLUDE
|
static int |
EventRequest_MOD_CLASS_MATCH
|
static int |
EventRequest_MOD_CLASS_ONLY
|
static int |
EventRequest_MOD_CONDITIONAL
|
static int |
EventRequest_MOD_COUNT
Modifier kind values that make events conditional. |
static int |
EventRequest_MOD_EXCEPTION_ONLY
|
static int |
EventRequest_MOD_FIELD_ONLY
|
static int |
EventRequest_MOD_INSTANCE_ONLY
|
static int |
EventRequest_MOD_LOCATION_ONLY
|
static int |
EventRequest_MOD_STEP
|
static int |
EventRequest_MOD_THREAD_ONLY
|
static int |
EventRequest_Set_COMMAND
Set an event request. |
static int |
Field_COMMAND_SET
|
static int |
InterfaceType_COMMAND_SET
|
static int |
InvokeOptions_INVOKE_NONVIRTUAL
|
static int |
InvokeOptions_INVOKE_SINGLE_THREADED
|
static int |
Method_Bytecodes_COMMAND
Retrieve the method's bytecodes as defined in the JVM Specification. |
static int |
Method_COMMAND_SET
|
static int |
Method_IsObsolete_COMMAND
Determine if this method is obsolete. |
static int |
Method_LineTable_COMMAND
Returns line number information for the method. |
static int |
Method_VariableTable_COMMAND
Returns variable information for the method. |
static int |
Method_VariableTableWithGeneric_COMMAND
Returns variable information for the method, including generic signatures for the variables. |
static int |
ObjectReference_COMMAND_SET
|
static int |
ObjectReference_DisableCollection_COMMAND
Prevents garbage collection for the given object. |
static int |
ObjectReference_EnableCollection_COMMAND
Permits garbage collection for this object. |
static int |
ObjectReference_GetValues_COMMAND
Returns the value of one or more instance fields. |
static int |
ObjectReference_InvokeMethod_COMMAND
Invokes a instance method. |
static int |
ObjectReference_IsCollected_COMMAND
Determines whether an object has been garbage collected in the target VM. |
static int |
ObjectReference_MonitorInfo_COMMAND
Returns monitor information for an object. |
static int |
ObjectReference_ReferenceType_COMMAND
Returns the runtime type of the object. |
static int |
ObjectReference_SetValues_COMMAND
Sets the value of one or more instance fields. |
static int |
ReferenceType_ClassLoader_COMMAND
Returns the instance of java.lang.ClassLoader which loaded a given reference type. |
static int |
ReferenceType_ClassObject_COMMAND
Returns the class object corresponding to this type. |
static int |
ReferenceType_COMMAND_SET
|
static int |
ReferenceType_Fields_COMMAND
Returns information for each field in a reference type. |
static int |
ReferenceType_FieldsWithGeneric_COMMAND
Returns information, including the generic signature if any, for each field in a reference type. |
static int |
ReferenceType_GetValues_COMMAND
Returns the value of one or more static fields of the reference type. |
static int |
ReferenceType_Interfaces_COMMAND
Returns the interfaces declared as implemented by this class. |
static int |
ReferenceType_Methods_COMMAND
Returns information for each method in a reference type. |
static int |
ReferenceType_MethodsWithGeneric_COMMAND
Returns information, including the generic signature if any, for each method in a reference type. |
static int |
ReferenceType_Modifiers_COMMAND
Returns the modifiers (also known as access flags) for a reference type. |
static int |
ReferenceType_NestedTypes_COMMAND
Returns the classes and interfaces directly nested within this type. |
static int |
ReferenceType_Signature_COMMAND
Returns the JNI signature of a reference type. |
static int |
ReferenceType_SignatureWithGeneric_COMMAND
Returns the JNI signature of a reference type along with the generic signature if there is one. |
static int |
ReferenceType_SourceDebugExtension_COMMAND
Returns the value of the SourceDebugExtension attribute. |
static int |
ReferenceType_SourceFile_COMMAND
Returns the name of source file in which a reference type was declared. |
static int |
ReferenceType_Status_COMMAND
Returns the current status of the reference type. |
static int |
StackFrame_COMMAND_SET
|
static int |
StackFrame_GetValues_COMMAND
Returns the value of one or more local variables in a given frame. |
static int |
StackFrame_PopFrames_COMMAND
Pop stack frames, thru and including 'frame'. |
static int |
StackFrame_SetValues_COMMAND
Sets the value of one or more local variables. |
static int |
StackFrame_ThisObject_COMMAND
Returns the value of the 'this' reference for this frame. |
static int |
StepDepth_INTO
|
static int |
StepDepth_OUT
|
static int |
StepDepth_OVER
|
static int |
StepSize_LINE
|
static int |
StepSize_MIN
|
static int |
StringReference_COMMAND_SET
|
static int |
StringReference_Value_COMMAND
Returns the characters contained in the string. |
static int |
SuspendPolicy_ALL
|
static int |
SuspendPolicy_EVENT_THREAD
|
static int |
SuspendPolicy_NONE
|
static int |
SuspendStatus_SUSPEND_STATUS_SUSPENDED
|
static int |
Tag_ARRAY
|
static int |
Tag_BOOLEAN
|
static int |
Tag_BYTE
|
static int |
Tag_CHAR
|
static int |
Tag_CLASS_LOADER
|
static int |
Tag_CLASS_OBJECT
|
static int |
Tag_DOUBLE
|
static int |
Tag_FLOAT
|
static int |
Tag_INT
|
static int |
Tag_LONG
|
static int |
Tag_OBJECT
|
static int |
Tag_SHORT
|
static int |
Tag_STRING
|
static int |
Tag_THREAD
|
static int |
Tag_THREAD_GROUP
|
static int |
Tag_VOID
|
static int |
ThreadGroupReference_Children_COMMAND
Returns the threads and thread groups directly contained in this thread group. |
static int |
ThreadGroupReference_COMMAND_SET
|
static int |
ThreadGroupReference_Name_COMMAND
Returns the thread group name. |
static int |
ThreadGroupReference_Parent_COMMAND
Returns the thread group, if any, which contains a given thread group. |
static int |
ThreadReference_COMMAND_SET
|
static int |
ThreadReference_CurrentContendedMonitor_COMMAND
Returns the object, if any, for which this thread is waiting for monitor entry or with java.lang.Object.wait. |
static int |
ThreadReference_FrameCount_COMMAND
Returns the count of frames on this thread's stack. |
static int |
ThreadReference_Frames_COMMAND
Returns the current call stack of a suspended thread. |
static int |
ThreadReference_Interrupt_COMMAND
Interrupt the thread, as if done by java.lang.Thread.interrupt |
static int |
ThreadReference_Name_COMMAND
Returns the thread name. |
static int |
ThreadReference_OwnedMonitors_COMMAND
Returns the objects whose monitors have been entered by this thread. |
static int |
ThreadReference_Resume_COMMAND
Resumes the execution of a given thread. |
static int |
ThreadReference_Status_COMMAND
Returns the current status of a thread. |
static int |
ThreadReference_Stop_COMMAND
Stops the thread with an asynchronous exception, as if done by java.lang.Thread.stop |
static int |
ThreadReference_Suspend_COMMAND
Suspends the thread. |
static int |
ThreadReference_SuspendCount_COMMAND
Get the suspend count for this thread. |
static int |
ThreadReference_ThreadGroup_COMMAND
Returns the thread group that contains a given thread. |
static int |
ThreadStatus_MONITOR
|
static int |
ThreadStatus_RUNNING
|
static int |
ThreadStatus_SLEEPING
|
static int |
ThreadStatus_WAIT
|
static int |
ThreadStatus_ZOMBIE
|
static int |
TypeTag_ARRAY
|
static int |
TypeTag_CLASS
|
static int |
TypeTag_INTERFACE
|
static int |
VirtualMachine_AllClasses_COMMAND
Returns reference types for all classes currently loaded by the target VM. |
static int |
VirtualMachine_AllClassesWithGeneric_COMMAND
Returns reference types for all classes currently loaded by the target VM. |
static int |
VirtualMachine_AllThreads_COMMAND
Returns all threads currently running in the target VM . |
static int |
VirtualMachine_Capabilities_COMMAND
Retrieve this VM's capabilities. |
static int |
VirtualMachine_CapabilitiesNew_COMMAND
Retrieve all of this VM's capabilities. |
static int |
VirtualMachine_ClassesBySignature_COMMAND
Returns reference types for all the classes loaded by the target VM which match the given signature. |
static int |
VirtualMachine_ClassPaths_COMMAND
Retrieve the classpath and bootclasspath of the target VM. |
static int |
VirtualMachine_COMMAND_SET
|
static int |
VirtualMachine_CreateString_COMMAND
Creates a new string object in the target VM and returns its id. |
static int |
VirtualMachine_Dispose_COMMAND
Invalidates this virtual machine mirror. |
static int |
VirtualMachine_DisposeObjects_COMMAND
Releases a list of object IDs. |
static int |
VirtualMachine_Exit_COMMAND
Terminates the target VM with the given exit code. |
static int |
VirtualMachine_HoldEvents_COMMAND
Tells the target VM to stop sending events. |
static int |
VirtualMachine_IDSizes_COMMAND
Returns the sizes of variably-sized data types in the target VM. |
static int |
VirtualMachine_RedefineClassesCOMMAND
Installs new class definitions. |
static int |
VirtualMachine_ReleaseEvents_COMMAND
Tells the target VM to continue sending events. |
static int |
VirtualMachine_Resume_COMMAND
Resumes execution of the application after the suspend command or an event has stopped it. |
static int |
VirtualMachine_SetDefaultStratum_COMMAND
Set the default stratum. |
static int |
VirtualMachine_Suspend_COMMAND
Suspends the execution of the application running in the target VM. |
static int |
VirtualMachine_TopLevelThreadGroups_COMMAND
Returns all thread groups that do not have a parent. |
static int |
VirtualMachine_Version_COMMAND
Returns the JDWP version implemented by the target VM. |
Method Summary | |
---|---|
static byte |
getTag(Klass klass)
Given a klass, returns the corresponding com.sun.squawk.debugger.JDWP.Tag value. |
static byte |
getTypeTag(Klass klass)
Gets the JDWP.TypeTag_... value corresponding to a given class. |
static boolean |
isReferenceTag(int tag)
Return true if the tag represents an reference type JDWP Tag value. |
static boolean |
isValidTag(int tag)
Return true if the tag is a valid JDWP Tag value. |
static boolean |
isValidTypeTag(int typeTag)
Return true if the tag is a valid JDWP Type Tag value. |
Methods inherited from class java.lang.Object |
---|
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Field Detail |
---|
public static final int VirtualMachine_COMMAND_SET
public static final int VirtualMachine_Version_COMMAND
public static final int VirtualMachine_ClassesBySignature_COMMAND
public static final int VirtualMachine_AllClasses_COMMAND
public static final int VirtualMachine_AllThreads_COMMAND
public static final int VirtualMachine_TopLevelThreadGroups_COMMAND
public static final int VirtualMachine_Dispose_COMMAND
Resources originating in this VirtualMachine (ObjectReferences, ReferenceTypes, etc.) will become invalid.
public static final int VirtualMachine_IDSizes_COMMAND
public static final int VirtualMachine_Suspend_COMMAND
Unlike java.lang.Thread.suspend, suspends of both the virtual machine and individual threads are counted. Before a thread will run again, it must be resumed through the VM-level resume command or the thread-level resume command the same number of times it has been suspended.
public static final int VirtualMachine_Resume_COMMAND
public static final int VirtualMachine_Exit_COMMAND
public static final int VirtualMachine_CreateString_COMMAND
public static final int VirtualMachine_Capabilities_COMMAND
public static final int VirtualMachine_ClassPaths_COMMAND
public static final int VirtualMachine_DisposeObjects_COMMAND
Use of this command is not required. If it is not sent, resources associated with each ID will be freed by the back-end at some time after the corresponding object is garbage collected. It is most useful to use this command to reduce the load on the back-end if a very large number of objects has been retrieved from the back-end (a large array, for example) but may not be garbage collected any time soon.
IDs may be re-used by the back-end after they have been freed with this command. This description assumes reference counting, a back-end may use any implementation which operates equivalently.
public static final int VirtualMachine_HoldEvents_COMMAND
public static final int VirtualMachine_ReleaseEvents_COMMAND
public static final int VirtualMachine_CapabilitiesNew_COMMAND
public static final int VirtualMachine_RedefineClassesCOMMAND
public static final int VirtualMachine_SetDefaultStratum_COMMAND
public static final int VirtualMachine_AllClassesWithGeneric_COMMAND
public static final int ReferenceType_COMMAND_SET
public static final int ReferenceType_Signature_COMMAND
For primitive classes the returned signature is the signature of the corresponding primitive type; for example, "I" is returned as the signature of the class represented by java.lang.Integer.TYPE.
public static final int ReferenceType_ClassLoader_COMMAND
public static final int ReferenceType_Modifiers_COMMAND
public static final int ReferenceType_Fields_COMMAND
public static final int ReferenceType_Methods_COMMAND
public static final int ReferenceType_GetValues_COMMAND
public static final int ReferenceType_SourceFile_COMMAND
public static final int ReferenceType_NestedTypes_COMMAND
public static final int ReferenceType_Status_COMMAND
public static final int ReferenceType_Interfaces_COMMAND
public static final int ReferenceType_ClassObject_COMMAND
public static final int ReferenceType_SourceDebugExtension_COMMAND
public static final int ReferenceType_SignatureWithGeneric_COMMAND
public static final int ReferenceType_FieldsWithGeneric_COMMAND
public static final int ReferenceType_MethodsWithGeneric_COMMAND
public static final int ClassType_COMMAND_SET
public static final int ClassType_Superclass_COMMAND
public static final int ClassType_SetValues_COMMAND
public static final int ClassType_InvokeMethod_COMMAND
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.
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.
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.
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.
The resumption of other threads during the invoke can be prevented
by specifying the INVOKE_SINGLE_THREADED
bit flag in the options
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.
If the target VM is disconnected during the invoke (for example, through the VirtualMachine dispose command) the method invocation continues.
public static final int ClassType_NewInstance_COMMAND
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.
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.
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.
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.
The resumption of other threads during the invoke can be prevented
by specifying the INVOKE_SINGLE_THREADED
bit flag in the options
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.
If the target VM is disconnected during the invoke (for example, through the VirtualMachine dispose command) the method invocation continues.
public static final int ArrayType_COMMAND_SET
public static final int ArrayType_NewInstance_COMMAND
public static final int InterfaceType_COMMAND_SET
public static final int Method_COMMAND_SET
public static final int Method_LineTable_COMMAND
public static final int Method_VariableTable_COMMAND
public static final int Method_Bytecodes_COMMAND
public static final int Method_IsObsolete_COMMAND
public static final int Method_VariableTableWithGeneric_COMMAND
public static final int Field_COMMAND_SET
public static final int ObjectReference_COMMAND_SET
public static final int ObjectReference_ReferenceType_COMMAND
public static final int ObjectReference_GetValues_COMMAND
public static final int ObjectReference_SetValues_COMMAND
public static final int ObjectReference_MonitorInfo_COMMAND
public static final int ObjectReference_InvokeMethod_COMMAND
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.
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.
For primitive arguments, the argument value's type must match the argument's type exactly. For object arguments, there must be a widening reference conversion from the argument value's type to the argument's type and the argument's type must be loaded.
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.
The resumption of other threads during the invoke can be prevented
by specifying the INVOKE_SINGLE_THREADED
bit flag in the options
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.
If the target VM is disconnected during the invoke (for example, through the VirtualMachine dispose command) the method invocation continues.
public static final int ObjectReference_DisableCollection_COMMAND
Note that while the target VM is suspended, no garbage collection will occur because all threads are suspended. The typical examination of variables, fields, and arrays during the suspension is safe without explicitly disabling garbage collection.
This method should be used sparingly, as it alters the pattern of garbage collection in the target VM and, consequently, may result in application behavior under the debugger that differs from its non-debugged behavior.
public static final int ObjectReference_EnableCollection_COMMAND
public static final int ObjectReference_IsCollected_COMMAND
public static final int StringReference_COMMAND_SET
public static final int StringReference_Value_COMMAND
public static final int ThreadReference_COMMAND_SET
public static final int ThreadReference_Name_COMMAND
public static final int ThreadReference_Suspend_COMMAND
Unlike java.lang.Thread.suspend(), suspends of both the virtual machine and individual threads are counted. Before a thread will run again, it must be resumed the same number of times it has been suspended.
Suspending single threads with command has the same dangers java.lang.Thread.suspend(). If the suspended thread holds a monitor needed by another running thread, deadlock is possible in the target VM (at least until the suspended thread is resumed again).
The suspended thread is guaranteed to remain suspended until
resumed through one of the JDI resume methods mentioned above;
the application in the target VM cannot resume the suspended thread
through java.lang.Thread#resume
.
Note that this doesn't change the status of the thread (see the ThreadStatus command.) For example, if it was Running, it will still appear running to other threads.
public static final int ThreadReference_Resume_COMMAND
public static final int ThreadReference_Status_COMMAND
public static final int ThreadReference_ThreadGroup_COMMAND
public static final int ThreadReference_Frames_COMMAND
public static final int ThreadReference_FrameCount_COMMAND
public static final int ThreadReference_OwnedMonitors_COMMAND
public static final int ThreadReference_CurrentContendedMonitor_COMMAND
public static final int ThreadReference_Stop_COMMAND
public static final int ThreadReference_Interrupt_COMMAND
public static final int ThreadReference_SuspendCount_COMMAND
public static final int ThreadGroupReference_COMMAND_SET
public static final int ThreadGroupReference_Name_COMMAND
public static final int ThreadGroupReference_Parent_COMMAND
public static final int ThreadGroupReference_Children_COMMAND
public static final int ArrayReference_COMMAND_SET
public static final int ArrayReference_Length_COMMAND
public static final int ArrayReference_GetValues_COMMAND
public static final int ArrayReference_SetValues_COMMAND
public static final int ClassLoaderReference_COMMAND_SET
public static final int ClassLoaderReference_VisibleClasses_COMMAND
The visible class list has useful properties with respect to the type namespace. A particular type name will occur at most once in the list. Each field or variable declared with that type name in a class defined by this class loader must be resolved to that single type.
No ordering of the returned list is guaranteed.
public static final int EventRequest_COMMAND_SET
public static final int EventRequest_Set_COMMAND
public static final int EventRequest_Clear_COMMAND
public static final int EventRequest_ClearAllBreakpoints_COMMAND
public static final int EventRequest_MOD_COUNT
public static final int EventRequest_MOD_CONDITIONAL
public static final int EventRequest_MOD_THREAD_ONLY
public static final int EventRequest_MOD_CLASS_ONLY
public static final int EventRequest_MOD_CLASS_MATCH
public static final int EventRequest_MOD_CLASS_EXCLUDE
public static final int EventRequest_MOD_LOCATION_ONLY
public static final int EventRequest_MOD_EXCEPTION_ONLY
public static final int EventRequest_MOD_FIELD_ONLY
public static final int EventRequest_MOD_STEP
public static final int EventRequest_MOD_INSTANCE_ONLY
public static final int StackFrame_COMMAND_SET
public static final int StackFrame_GetValues_COMMAND
public static final int StackFrame_SetValues_COMMAND
Even if local variable information is not available, values can be set, if the front-end is able to determine the correct local variable index. (Typically, this index can be determined for method arguments from the method signature without access to the local variable table information.)
public static final int StackFrame_ThisObject_COMMAND
public static final int StackFrame_PopFrames_COMMAND
public static final int ClassObjectReference_COMMAND_SET
public static final int ClassObjectReference_ReflectedType_COMMAND
public static final int Event_COMMAND_SET
public static final int Event_Composite_COMMAND
The events that are grouped in a composite event are restricted in the following ways:
public static final int Error_NONE
public static final int Error_INVALID_THREAD
public static final int Error_INVALID_THREAD_GROUP
public static final int Error_INVALID_PRIORITY
public static final int Error_THREAD_NOT_SUSPENDED
public static final int Error_THREAD_SUSPENDED
public static final int Error_INVALID_OBJECT
public static final int Error_INVALID_CLASS
public static final int Error_CLASS_NOT_PREPARED
public static final int Error_INVALID_METHODID
public static final int Error_INVALID_LOCATION
public static final int Error_INVALID_FIELDID
public static final int Error_INVALID_FRAMEID
public static final int Error_NO_MORE_FRAMES
public static final int Error_OPAQUE_FRAME
public static final int Error_NOT_CURRENT_FRAME
public static final int Error_TYPE_MISMATCH
public static final int Error_INVALID_SLOT
public static final int Error_DUPLICATE
public static final int Error_NOT_FOUND
public static final int Error_INVALID_MONITOR
public static final int Error_NOT_MONITOR_OWNER
public static final int Error_INTERRUPT
public static final int Error_INVALID_CLASS_FORMAT
public static final int Error_CIRCULAR_CLASS_DEFINITION
public static final int Error_FAILS_VERIFICATION
public static final int Error_ADD_METHOD_NOT_IMPLEMENTED
public static final int Error_SCHEMA_CHANGE_NOT_IMPLEMENTED
public static final int Error_INVALID_TYPESTATE
public static final int Error_HIERARCHY_CHANGE_NOT_IMPLEMENTED
public static final int Error_DELETE_METHOD_NOT_IMPLEMENTED
public static final int Error_UNSUPPORTED_VERSION
public static final int Error_NAMES_DONT_MATCH
public static final int Error_CLASS_MODIFIERS_CHANGE_NOT_IMPLEMENTED
public static final int Error_METHOD_MODIFIERS_CHANGE_NOT_IMPLEMENTED
public static final int Error_NOT_IMPLEMENTED
public static final int Error_NULL_POINTER
public static final int Error_ABSENT_INFORMATION
public static final int Error_INVALID_EVENT_TYPE
public static final int Error_ILLEGAL_ARGUMENT
public static final int Error_OUT_OF_MEMORY
public static final int Error_ACCESS_DENIED
public static final int Error_VM_DEAD
public static final int Error_INTERNAL
public static final int Error_UNATTACHED_THREAD
public static final int Error_INVALID_TAG
public static final int Error_ALREADY_INVOKING
public static final int Error_INVALID_INDEX
public static final int Error_INVALID_LENGTH
public static final int Error_INVALID_STRING
public static final int Error_INVALID_CLASS_LOADER
public static final int Error_INVALID_ARRAY
public static final int Error_TRANSPORT_LOAD
public static final int Error_TRANSPORT_INIT
public static final int Error_NATIVE_METHOD
public static final int Error_INVALID_COUNT
public static final int EventKind_VM_DISCONNECTED
public static final int EventKind_VM_START
public static final int EventKind_THREAD_DEATH
public static final int EventKind_SINGLE_STEP
public static final int EventKind_BREAKPOINT
public static final int EventKind_FRAME_POP
public static final int EventKind_EXCEPTION
public static final int EventKind_USER_DEFINED
public static final int EventKind_THREAD_START
public static final int EventKind_THREAD_END
public static final int EventKind_CLASS_PREPARE
public static final int EventKind_CLASS_UNLOAD
public static final int EventKind_CLASS_LOAD
public static final int EventKind_FIELD_ACCESS
public static final int EventKind_FIELD_MODIFICATION
public static final int EventKind_EXCEPTION_CATCH
public static final int EventKind_METHOD_ENTRY
public static final int EventKind_METHOD_EXIT
public static final int EventKind_VM_INIT
public static final int EventKind_VM_DEATH
public static final int ThreadStatus_ZOMBIE
public static final int ThreadStatus_RUNNING
public static final int ThreadStatus_SLEEPING
public static final int ThreadStatus_MONITOR
public static final int ThreadStatus_WAIT
public static final int SuspendStatus_SUSPEND_STATUS_SUSPENDED
public static final int ClassStatus_VERIFIED
public static final int ClassStatus_PREPARED
public static final int ClassStatus_INITIALIZED
public static final int ClassStatus_ERROR
public static final int ClassStatus_VERIFIED_PREPARED_INITIALIZED
public static final int TypeTag_CLASS
public static final int TypeTag_INTERFACE
public static final int TypeTag_ARRAY
public static final int Tag_ARRAY
public static final int Tag_BYTE
public static final int Tag_CHAR
public static final int Tag_OBJECT
public static final int Tag_FLOAT
public static final int Tag_DOUBLE
public static final int Tag_INT
public static final int Tag_LONG
public static final int Tag_SHORT
public static final int Tag_VOID
public static final int Tag_BOOLEAN
public static final int Tag_STRING
public static final int Tag_THREAD
public static final int Tag_THREAD_GROUP
public static final int Tag_CLASS_LOADER
public static final int Tag_CLASS_OBJECT
public static final int StepDepth_INTO
public static final int StepDepth_OVER
public static final int StepDepth_OUT
public static final int StepSize_MIN
public static final int StepSize_LINE
public static final int SuspendPolicy_NONE
public static final int SuspendPolicy_EVENT_THREAD
public static final int SuspendPolicy_ALL
public static final int InvokeOptions_INVOKE_SINGLE_THREADED
public static final int InvokeOptions_INVOKE_NONVIRTUAL
Method Detail |
---|
public static byte getTypeTag(Klass klass)
JDWP.TypeTag_...
value corresponding to a given class.
klass
- the class to convert
JDWP.TypeTag_...
value corresponding to klass
public static boolean isValidTypeTag(int typeTag)
typeTag
- int
public static byte getTag(Klass klass)
com.sun.squawk.debugger.JDWP.Tag
value.
klass
- Klass
public static boolean isValidTag(int tag)
tag
- int
public static boolean isReferenceTag(int tag)
tag
- int
|
" 2013 FRC Java API " |
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |