Envision
A visual programming IDE for object-oriented languages
List of all members | Public Types | Static Public Attributes
OODebug::Protocol Class Reference

Defines all constant values as in: https://docs.oracle.com/javase/7/docs/platform/jpda/jdwp/jdwp-protocol.html. More...

Public Types

enum class  ArrayReferenceCommands : int { Length = 1 , GetValues = 2 , SetValues = 3 }
 
enum class  ArrayTypeCommands : int { NewInstance = 1 }
 
enum class  ClassLoaderReferenceCommands : int { VisibleClasses = 1 }
 
enum class  ClassObjectReferenceCommands : int { ReflectedType = 1 }
 
enum class  ClassStatus : qint32 { VERIFIED = 1 , PREPARED = 2 , INITIALIZED = 4 , ERROR = 8 }
 
enum class  ClassTypeCommands : int { Superclass = 1 , SetValues = 2 , InvokeMethod = 3 , NewInstance = 4 }
 
enum class  CommandSet : qint8 { VirtualMachine = 1 , ReferenceType = 2 , ClassType = 3 , ArrayType = 4 , InterfaceType = 5 , Method = 6 , Field = 8 , ObjectReference = 9 , StringReference = 10 , ThreadReference = 11 , ThreadGroupReference = 12 , ArrayReference = 13 , ClassLoaderReference = 14 , EventRequest = 15 , StackFrame = 16 , ClassObjectReference = 17 , Event = 64 }
 
enum class  Error : qint16 {
  NONE = 0 , INVALID_THREAD = 10 , INVALID_THREAD_GROUP = 11 , INVALID_PRIORITY = 12 , THREAD_NOT_SUSPENDED = 13 , THREAD_SUSPENDED = 14 , THREAD_NOT_ALIVE = 15 , INVALID_OBJECT = 20 , INVALID_CLASS = 21 , CLASS_NOT_PREPARED = 22 , INVALID_METHODID = 23 , INVALID_LOCATION = 24 , INVALID_FIELDID = 25 , INVALID_FRAMEID = 30 , NO_MORE_FRAMES = 31 , OPAQUE_FRAME = 32 , NOT_CURRENT_FRAME = 33 , TYPE_MISMATCH = 34 , INVALID_SLOT = 35 , DUPLICATE = 40 ,
  NOT_FOUND = 41 , INVALID_MONITOR = 50 , NOT_MONITOR_OWNER = 51 , INTERRUPT = 52 , INVALID_CLASS_FORMAT = 60 , CIRCULAR_CLASS_DEFINITION = 61 , FAILS_VERIFICATION = 62 , ADD_METHOD_NOT_IMPLEMENTED = 63 , SCHEMA_CHANGE_NOT_IMPLEMENTED = 64 , INVALID_TYPESTATE = 65 , HIERARCHY_CHANGE_NOT_IMPLEMENTED = 66 , DELETE_METHOD_NOT_IMPLEMENTED = 67 , UNSUPPORTED_VERSION = 68 , NAMES_DONT_MATCH = 69 , CLASS_MODIFIERS_CHANGE_NOT_IMPLEMENTED = 70 , METHOD_MODIFIERS_CHANGE_NOT_IMPLEMENTED = 71 , NOT_IMPLEMENTED = 99 , NULL_POINTER = 100 , ABSENT_INFORMATION = 101 , INVALID_EVENT_TYPE = 102 ,
  ILLEGAL_ARGUMENT = 103 , OUT_OF_MEMORY = 110 , ACCESS_DENIED = 111 , VM_DEAD = 112 , INTERNAL = 113 , UNATTACHED_THREAD = 115 , INVALID_TAG = 500 , ALREADY_INVOKING = 502 , INVALID_INDEX = 503 , INVALID_LENGTH = 504 , INVALID_STRING = 506 , INVALID_CLASS_LOADER = 507 , INVALID_ARRAY = 508 , TRANSPORT_LOAD = 509 , TRANSPORT_INIT = 510 , NATIVE_METHOD = 511 , INVALID_COUNT = 512
}
 
enum class  EventCommands : int { Composite = 100 }
 
enum class  EventKind : qint8 {
  SINGLE_STEP = 1 , BREAKPOINT = 2 , FRAME_POP = 3 , EXCEPTION = 4 , USER_DEFINED = 5 , THREAD_START = 6 , THREAD_DEATH = 7 , THREAD_END = 7 , CLASS_PREPARE = 8 , CLASS_UNLOAD = 9 , CLASS_LOAD = 10 , FIELD_ACCESS = 20 , FIELD_MODIFICATION = 21 , EXCEPTION_CATCH = 30 , METHOD_ENTRY = 40 , METHOD_EXIT = 41 , METHOD_EXIT_WITH_RETURN_VALUE = 42 , MONITOR_CONTENDED_ENTER = 43 , MONITOR_CONTENDED_ENTERED = 44 , MONITOR_WAIT = 45 ,
  MONITOR_WAITED = 46 , VM_START = 90 , VM_INIT = 90 , VM_DEATH = 99 , VM_DISCONNECTED = 100
}
 
enum class  EventRequestCommands : int { Set = 1 , Clear = 2 , ClearAllBreakpoints = 3 }
 
enum class  FieldCommands : int
 
enum class  InterfaceTypeCommands : int
 
enum class  InvokeOptions : qint32 { INVOKE_SINGLE_THREADED = 0x01 , INVOKE_NONVIRTUAL = 0x02 }
 The invoke options are a combination of zero or more of the following bit flags: More...
 
enum class  MethodCommands : int { LineTable = 1 , VariableTable = 2 , Bytecodes = 3 , IsObsolete = 4 , VariableTableWithGeneric = 5 }
 
enum class  ObjectReferenceCommands : int { ReferenceType = 1 , GetValues = 2 , SetValues = 3 , MonitorInfo = 5 , InvokeMethod = 6 , DisableCollection = 7 , EnableCollection = 8 , IsCollected = 9 , ReferringObjects = 10 }
 
enum class  ReferenceTypeCommands : int { Signature = 1 , ClassLoader = 2 , Modifiers = 3 , Fields = 4 , Methods = 5 , GetValues = 6 , SourceFile = 7 , NestedTypes = 8 , Status = 9 , Interfaces = 10 , ClassObject = 11 , SourceDebugExtension = 12 , SignatureWithGeneric = 13 , FieldsWithGeneric = 14 , MethodsWithGeneric = 15 , Instances = 16 , ClassFileVersion = 17 , ConstantPool = 18 }
 
enum class  StackFrameCommands : int { GetValues = 1 , SetValues = 2 , ThisObject = 3 , PopFrames = 4 }
 
enum class  StepDepth : qint32 { INTO = 0 , OVER = 1 , OUT = 2 }
 
enum class  StepSize : qint32 { MIN = 0 , LINE = 1 }
 
enum class  StringReferenceCommands : int { Value = 1 }
 
enum class  SuspendPolicy : qint8 { NONE = 0 , EVENT_THREAD = 1 , ALL = 2 }
 
enum class  SuspendStatus : qint32 { SUSPEND_STATUS_SUSPENDED = 0x1 }
 
enum class  Tag : qint8 { ARRAY = 91 , BYTE = 66 , CHAR = 67 , OBJECT = 76 , FLOAT = 70 , DOUBLE = 68 , INT = 73 , LONG = 74 , SHORT = 83 , VOID = 86 , BOOLEAN = 90 , STRING = 115 , THREAD = 116 , THREAD_GROUP = 103 , CLASS_LOADER = 108 , CLASS_OBJECT = 99 }
 
enum class  ThreadGroupReferenceCommands : int { Name = 1 , Parent = 2 , Children = 3 }
 
enum class  ThreadReferenceCommands : int { Name = 1 , Suspend = 2 , Resume = 3 , Status = 4 , ThreadGroup = 5 , Frames = 6 , FrameCount = 7 , OwnedMonitors = 8 , CurrentContendedMonitor = 9 , Stop = 10 , Interrupt = 11 , SuspendCount = 12 , OwnedMonitorsStackDepthInfo = 13 , ForceEarlyReturn = 14 }
 
enum class  ThreadStatus : qint32 { ZOMBIE = 0 , RUNNING = 1 , SLEEPING = 2 , MONITOR = 3 , WAIT = 4 }
 
enum class  TypeTagKind : qint8 { CLASS = 1 , INTERFACE = 2 , ARRAY = 3 }
 
enum class  VirtualMachineCommands : qint8 {
  Version = 1 , ClassesBySignature = 2 , AllClasses = 3 , AllThreads = 4 , TopLevelThreadGroups = 5 , Dispose = 6 , IDSizes = 7 , Suspend = 8 , Resume = 9 , Exit = 10 , CreateString = 11 , Capabilities = 12 , ClassPaths = 13 , DisposeObjects = 14 , HoldEvents = 15 , ReleaseEvents = 16 , CapabilitiesNew = 17 , RedefineClasses = 18 , SetDefaultStratum = 19 , AllClassesWithGeneric = 20 ,
  InstanceCounts = 21
}
 

Static Public Attributes

static const QByteArray handshake {"JDWP-Handshake"}
 

Detailed Description

Defines all constant values as in: https://docs.oracle.com/javase/7/docs/platform/jpda/jdwp/jdwp-protocol.html.

Most of this file can be generated by regex expressions.

Member Enumeration Documentation

◆ ArrayReferenceCommands

Enumerator
Length 
GetValues 
SetValues 

◆ ArrayTypeCommands

Enumerator
NewInstance 

◆ ClassLoaderReferenceCommands

Enumerator
VisibleClasses 

◆ ClassObjectReferenceCommands

Enumerator
ReflectedType 

◆ ClassStatus

enum OODebug::Protocol::ClassStatus : qint32
strong
Enumerator
VERIFIED 
PREPARED 
INITIALIZED 
ERROR 

◆ ClassTypeCommands

Enumerator
Superclass 
SetValues 
InvokeMethod 
NewInstance 

◆ CommandSet

enum OODebug::Protocol::CommandSet : qint8
strong
Enumerator
VirtualMachine 
ReferenceType 
ClassType 
ArrayType 
InterfaceType 
Method 
Field 
ObjectReference 
StringReference 
ThreadReference 
ThreadGroupReference 
ArrayReference 
ClassLoaderReference 
EventRequest 
StackFrame 
ClassObjectReference 
Event 

◆ Error

enum OODebug::Protocol::Error : qint16
strong
Enumerator
NONE 

No error has occurred.


INVALID_THREAD 

Passed thread is null, is not a valid thread or has exited.

INVALID_THREAD_GROUP 

Thread group invalid.

INVALID_PRIORITY 

Invalid priority.


THREAD_NOT_SUSPENDED 

If the specified thread has not been suspended by an event.


THREAD_SUSPENDED 

Thread already suspended.


THREAD_NOT_ALIVE 

Thread has not been started or is now dead.


INVALID_OBJECT 

If this reference type has been unloaded and garbage collected.


INVALID_CLASS 

Invalid class.


CLASS_NOT_PREPARED 

Class has been loaded but not yet prepared.


INVALID_METHODID 

Invalid method.


INVALID_LOCATION 

Invalid location.


INVALID_FIELDID 

Invalid field.


INVALID_FRAMEID 

Invalid jframeID.


NO_MORE_FRAMES 

There are no more Java or JNI frames on the call stack.


OPAQUE_FRAME 

Information about the frame is not available.


NOT_CURRENT_FRAME 

Operation can only be performed on current frame.


TYPE_MISMATCH 

The variable is not an appropriate type for the function used.


INVALID_SLOT 

Invalid slot.


DUPLICATE 

Item already set.


NOT_FOUND 

Desired element not found.


INVALID_MONITOR 

Invalid monitor.


NOT_MONITOR_OWNER 

This thread doesn't own the monitor.


INTERRUPT 

The call has been interrupted before completion.


INVALID_CLASS_FORMAT 

The virtual machine attempted to read a class file and determined that the file is malformed or otherwise cannot be interpreted as a class file.


CIRCULAR_CLASS_DEFINITION 

A circularity has been detected while initializing a class.


FAILS_VERIFICATION 

The verifier detected that a class file, though well formed, contained some sort of internal inconsistency or security problem.


ADD_METHOD_NOT_IMPLEMENTED 

Adding methods has not been implemented.


SCHEMA_CHANGE_NOT_IMPLEMENTED 

Schema change has not been implemented.


INVALID_TYPESTATE 

The state of the thread has been modified, and is now inconsistent.


HIERARCHY_CHANGE_NOT_IMPLEMENTED 

A direct superclass is different for the new class version, or the set of directly implemented interfaces is different and canUnrestrictedlyRedefineClasses is false.

DELETE_METHOD_NOT_IMPLEMENTED 

The new class version does not declare a method declared in the old class version and canUnrestrictedlyRedefineClasses is false.


UNSUPPORTED_VERSION 

A class file has a version number not supported by this VM.


NAMES_DONT_MATCH 

The class name defined in the new class file is different from the name in the old class object.


CLASS_MODIFIERS_CHANGE_NOT_IMPLEMENTED 

The new class version has different modifiers and and canUnrestrictedlyRedefineClasses is false.


METHOD_MODIFIERS_CHANGE_NOT_IMPLEMENTED 

A method in the new class version has different modifiers than its counterpart in the old class version and canUnrestrictedlyRedefineClasses is false.


NOT_IMPLEMENTED 

The functionality is not implemented in this virtual machine.


NULL_POINTER 

Invalid pointer.


ABSENT_INFORMATION 

Desired information is not available.


INVALID_EVENT_TYPE 

The specified event type id is not recognized.


ILLEGAL_ARGUMENT 

Illegal argument.


OUT_OF_MEMORY 

The function needed to allocate memory and no more memory was available for allocation.


ACCESS_DENIED 

Debugging has not been enabled in this virtual machine.

JVMTI cannot be used.

VM_DEAD 

The virtual machine is not running.


INTERNAL 

An unexpected internal error has occurred.


UNATTACHED_THREAD 

The thread being used to call this function is not attached to the virtual machine.

Calls must be made from attached threads.

INVALID_TAG 

object type id or class tag.


ALREADY_INVOKING 

Previous invoke not complete.


INVALID_INDEX 

Index is invalid.


INVALID_LENGTH 

The length is invalid.


INVALID_STRING 

The string is invalid.


INVALID_CLASS_LOADER 

The class loader is invalid.


INVALID_ARRAY 

The array is invalid.


TRANSPORT_LOAD 

Unable to load the transport.


TRANSPORT_INIT 

Unable to initialize the transport.


NATIVE_METHOD 
INVALID_COUNT 

The count is invalid.

◆ EventCommands

Enumerator
Composite 

◆ EventKind

enum OODebug::Protocol::EventKind : qint8
strong
Enumerator
SINGLE_STEP 
BREAKPOINT 
FRAME_POP 
EXCEPTION 
USER_DEFINED 
THREAD_START 
THREAD_DEATH 
THREAD_END 
CLASS_PREPARE 
CLASS_UNLOAD 
CLASS_LOAD 
FIELD_ACCESS 
FIELD_MODIFICATION 
EXCEPTION_CATCH 
METHOD_ENTRY 
METHOD_EXIT 
METHOD_EXIT_WITH_RETURN_VALUE 
MONITOR_CONTENDED_ENTER 
MONITOR_CONTENDED_ENTERED 
MONITOR_WAIT 
MONITOR_WAITED 
VM_START 
VM_INIT 
VM_DEATH 
VM_DISCONNECTED 

◆ EventRequestCommands

Enumerator
Set 
Clear 
ClearAllBreakpoints 

◆ FieldCommands

◆ InterfaceTypeCommands

◆ InvokeOptions

enum OODebug::Protocol::InvokeOptions : qint32
strong

The invoke options are a combination of zero or more of the following bit flags:

Enumerator
INVOKE_SINGLE_THREADED 

otherwise, all threads started.


INVOKE_NONVIRTUAL 

otherwise, normal virtual invoke (instance methods only)

◆ MethodCommands

Enumerator
LineTable 
VariableTable 
Bytecodes 
IsObsolete 
VariableTableWithGeneric 

◆ ObjectReferenceCommands

Enumerator
ReferenceType 
GetValues 
SetValues 
MonitorInfo 
InvokeMethod 
DisableCollection 
EnableCollection 
IsCollected 
ReferringObjects 

◆ ReferenceTypeCommands

Enumerator
Signature 
ClassLoader 
Modifiers 
Fields 
Methods 
GetValues 
SourceFile 
NestedTypes 
Status 
Interfaces 
ClassObject 
SourceDebugExtension 
SignatureWithGeneric 
FieldsWithGeneric 
MethodsWithGeneric 
Instances 
ClassFileVersion 
ConstantPool 

◆ StackFrameCommands

Enumerator
GetValues 
SetValues 
ThisObject 
PopFrames 

◆ StepDepth

enum OODebug::Protocol::StepDepth : qint32
strong
Enumerator
INTO 

Step into any method calls that occur before the end of the step.


OVER 

Step over any method calls that occur before the end of the step.


OUT 

Step out of the current method.


◆ StepSize

enum OODebug::Protocol::StepSize : qint32
strong
Enumerator
MIN 

Step by the minimum possible amount (often a bytecode instruction).


LINE 

Step to the next source line unless there is no line number information in which case a MIN step is done instead.


◆ StringReferenceCommands

Enumerator
Value 

◆ SuspendPolicy

enum OODebug::Protocol::SuspendPolicy : qint8
strong
Enumerator
NONE 

Suspend no threads when this event is encountered.


EVENT_THREAD 

Suspend the event thread when this event is encountered.


ALL 

Suspend all threads when this event is encountered.


◆ SuspendStatus

enum OODebug::Protocol::SuspendStatus : qint32
strong
Enumerator
SUSPEND_STATUS_SUSPENDED 

◆ Tag

enum OODebug::Protocol::Tag : qint8
strong
Enumerator
ARRAY 

'[' - an array object (objectID size).


BYTE 

'B' - a byte value (1 byte).


CHAR 

'C' - a character value (2 bytes).


OBJECT 

'L' - an object (objectID size).


FLOAT 

'F' - a float value (4 bytes).


DOUBLE 

'D' - a double value (8 bytes).


INT 

'I' - an int value (4 bytes).


LONG 

'J' - a long value (8 bytes).


SHORT 

'S' - a short value (2 bytes).


VOID 

'V' - a void value (no bytes).


BOOLEAN 

'Z' - a boolean value (1 byte).


STRING 

's' - a String object (objectID size).


THREAD 

't' - a Thread object (objectID size).


THREAD_GROUP 

'g' - a ThreadGroup object (objectID size).


CLASS_LOADER 

'l' - a ClassLoader object (objectID size).


CLASS_OBJECT 

'c' - a class object object (objectID size).


◆ ThreadGroupReferenceCommands

Enumerator
Name 
Parent 
Children 

◆ ThreadReferenceCommands

Enumerator
Name 
Suspend 
Resume 
Status 
ThreadGroup 
Frames 
FrameCount 
OwnedMonitors 
CurrentContendedMonitor 
Stop 
Interrupt 
SuspendCount 
OwnedMonitorsStackDepthInfo 
ForceEarlyReturn 

◆ ThreadStatus

enum OODebug::Protocol::ThreadStatus : qint32
strong
Enumerator
ZOMBIE 
RUNNING 
SLEEPING 
MONITOR 
WAIT 

◆ TypeTagKind

enum OODebug::Protocol::TypeTagKind : qint8
strong
Enumerator
CLASS 

ReferenceType is a class.


INTERFACE 

ReferenceType is an interface.


ARRAY 

ReferenceType is an array.


◆ VirtualMachineCommands

Enumerator
Version 
ClassesBySignature 
AllClasses 
AllThreads 
TopLevelThreadGroups 
Dispose 
IDSizes 
Suspend 
Resume 
Exit 
CreateString 
Capabilities 
ClassPaths 
DisposeObjects 
HoldEvents 
ReleaseEvents 
CapabilitiesNew 
RedefineClasses 
SetDefaultStratum 
AllClassesWithGeneric 
InstanceCounts 

Member Data Documentation

◆ handshake

const QByteArray OODebug::Protocol::handshake {"JDWP-Handshake"}
static