Crossfire JXClient, Trunk
Classes | Typedefs | Enumerations | Functions
jvmti.h File Reference
#include "jni.h"
Include dependency graph for jvmti.h:

Go to the source code of this file.

Classes

struct  _jvmtiAddrLocationMap
 
struct  _jvmtiClassDefinition
 
struct  _jvmtiEnv
 
struct  _jvmtiExtensionEventInfo
 
struct  _jvmtiExtensionFunctionInfo
 
struct  _jvmtiFrameInfo
 
struct  _jvmtiHeapCallbacks
 
union  _jvmtiHeapReferenceInfo
 
struct  _jvmtiHeapReferenceInfoArray
 
struct  _jvmtiHeapReferenceInfoConstantPool
 
struct  _jvmtiHeapReferenceInfoField
 
struct  _jvmtiHeapReferenceInfoJniLocal
 
struct  _jvmtiHeapReferenceInfoReserved
 
struct  _jvmtiHeapReferenceInfoStackLocal
 
struct  _jvmtiLineNumberEntry
 
struct  _jvmtiLocalVariableEntry
 
struct  _jvmtiMonitorStackDepthInfo
 
struct  _jvmtiMonitorUsage
 
struct  _jvmtiParamInfo
 
struct  _jvmtiStackInfo
 
struct  _jvmtiThreadGroupInfo
 
struct  _jvmtiThreadInfo
 
struct  _jvmtiTimerInfo
 
struct  jvmtiCapabilities
 
struct  jvmtiEventCallbacks
 
struct  jvmtiInterface_1_
 

Typedefs

typedef jlong jlocation
 
typedef struct JNINativeInterface_ jniNativeInterface
 
typedef struct _jrawMonitorID * jrawMonitorID
 
typedef jobject jthread
 
typedef jobject jthreadGroup
 
typedef struct _jvmtiAddrLocationMap jvmtiAddrLocationMap
 
typedef jint(JNICALLjvmtiArrayPrimitiveValueCallback) (jlong class_tag, jlong size, jlong *tag_ptr, jint element_count, jvmtiPrimitiveType element_type, const void *elements, void *user_data)
 
typedef struct _jvmtiClassDefinition jvmtiClassDefinition
 
typedef const struct jvmtiInterface_1_jvmtiEnv
 
typedef void(JNICALLjvmtiEventBreakpoint) (jvmtiEnv *jvmti_env, JNIEnv *jni_env, jthread thread, jmethodID method, jlocation location)
 
typedef void(JNICALLjvmtiEventClassFileLoadHook) (jvmtiEnv *jvmti_env, JNIEnv *jni_env, jclass class_being_redefined, jobject loader, const char *name, jobject protection_domain, jint class_data_len, const unsigned char *class_data, jint *new_class_data_len, unsigned char **new_class_data)
 
typedef void(JNICALLjvmtiEventClassLoad) (jvmtiEnv *jvmti_env, JNIEnv *jni_env, jthread thread, jclass klass)
 
typedef void(JNICALLjvmtiEventClassPrepare) (jvmtiEnv *jvmti_env, JNIEnv *jni_env, jthread thread, jclass klass)
 
typedef void(JNICALLjvmtiEventCompiledMethodLoad) (jvmtiEnv *jvmti_env, jmethodID method, jint code_size, const void *code_addr, jint map_length, const jvmtiAddrLocationMap *map, const void *compile_info)
 
typedef void(JNICALLjvmtiEventCompiledMethodUnload) (jvmtiEnv *jvmti_env, jmethodID method, const void *code_addr)
 
typedef void(JNICALLjvmtiEventDataDumpRequest) (jvmtiEnv *jvmti_env)
 
typedef void(JNICALLjvmtiEventDynamicCodeGenerated) (jvmtiEnv *jvmti_env, const char *name, const void *address, jint length)
 
typedef void(JNICALLjvmtiEventException) (jvmtiEnv *jvmti_env, JNIEnv *jni_env, jthread thread, jmethodID method, jlocation location, jobject exception, jmethodID catch_method, jlocation catch_location)
 
typedef void(JNICALLjvmtiEventExceptionCatch) (jvmtiEnv *jvmti_env, JNIEnv *jni_env, jthread thread, jmethodID method, jlocation location, jobject exception)
 
typedef void(JNICALLjvmtiEventFieldAccess) (jvmtiEnv *jvmti_env, JNIEnv *jni_env, jthread thread, jmethodID method, jlocation location, jclass field_klass, jobject object, jfieldID field)
 
typedef void(JNICALLjvmtiEventFieldModification) (jvmtiEnv *jvmti_env, JNIEnv *jni_env, jthread thread, jmethodID method, jlocation location, jclass field_klass, jobject object, jfieldID field, char signature_type, jvalue new_value)
 
typedef void(JNICALLjvmtiEventFramePop) (jvmtiEnv *jvmti_env, JNIEnv *jni_env, jthread thread, jmethodID method, jboolean was_popped_by_exception)
 
typedef void(JNICALLjvmtiEventGarbageCollectionFinish) (jvmtiEnv *jvmti_env)
 
typedef void(JNICALLjvmtiEventGarbageCollectionStart) (jvmtiEnv *jvmti_env)
 
typedef void(JNICALLjvmtiEventMethodEntry) (jvmtiEnv *jvmti_env, JNIEnv *jni_env, jthread thread, jmethodID method)
 
typedef void(JNICALLjvmtiEventMethodExit) (jvmtiEnv *jvmti_env, JNIEnv *jni_env, jthread thread, jmethodID method, jboolean was_popped_by_exception, jvalue return_value)
 
typedef void(JNICALLjvmtiEventMonitorContendedEnter) (jvmtiEnv *jvmti_env, JNIEnv *jni_env, jthread thread, jobject object)
 
typedef void(JNICALLjvmtiEventMonitorContendedEntered) (jvmtiEnv *jvmti_env, JNIEnv *jni_env, jthread thread, jobject object)
 
typedef void(JNICALLjvmtiEventMonitorWait) (jvmtiEnv *jvmti_env, JNIEnv *jni_env, jthread thread, jobject object, jlong timeout)
 
typedef void(JNICALLjvmtiEventMonitorWaited) (jvmtiEnv *jvmti_env, JNIEnv *jni_env, jthread thread, jobject object, jboolean timed_out)
 
typedef void(JNICALLjvmtiEventNativeMethodBind) (jvmtiEnv *jvmti_env, JNIEnv *jni_env, jthread thread, jmethodID method, void *address, void **new_address_ptr)
 
typedef void(JNICALLjvmtiEventObjectFree) (jvmtiEnv *jvmti_env, jlong tag)
 
typedef void(JNICALLjvmtiEventReserved) (void)
 
typedef void(JNICALLjvmtiEventResourceExhausted) (jvmtiEnv *jvmti_env, JNIEnv *jni_env, jint flags, const void *reserved, const char *description)
 
typedef void(JNICALLjvmtiEventSingleStep) (jvmtiEnv *jvmti_env, JNIEnv *jni_env, jthread thread, jmethodID method, jlocation location)
 
typedef void(JNICALLjvmtiEventThreadEnd) (jvmtiEnv *jvmti_env, JNIEnv *jni_env, jthread thread)
 
typedef void(JNICALLjvmtiEventThreadStart) (jvmtiEnv *jvmti_env, JNIEnv *jni_env, jthread thread)
 
typedef void(JNICALLjvmtiEventVMDeath) (jvmtiEnv *jvmti_env, JNIEnv *jni_env)
 
typedef void(JNICALLjvmtiEventVMInit) (jvmtiEnv *jvmti_env, JNIEnv *jni_env, jthread thread)
 
typedef void(JNICALLjvmtiEventVMObjectAlloc) (jvmtiEnv *jvmti_env, JNIEnv *jni_env, jthread thread, jobject object, jclass object_klass, jlong size)
 
typedef void(JNICALLjvmtiEventVMStart) (jvmtiEnv *jvmti_env, JNIEnv *jni_env)
 
typedef void(JNICALLjvmtiExtensionEvent) (jvmtiEnv *jvmti_env,...)
 
typedef struct _jvmtiExtensionEventInfo jvmtiExtensionEventInfo
 
typedef jvmtiError(JNICALLjvmtiExtensionFunction) (jvmtiEnv *jvmti_env,...)
 
typedef struct _jvmtiExtensionFunctionInfo jvmtiExtensionFunctionInfo
 
typedef struct _jvmtiFrameInfo jvmtiFrameInfo
 
typedef struct _jvmtiHeapCallbacks jvmtiHeapCallbacks
 
typedef jint(JNICALLjvmtiHeapIterationCallback) (jlong class_tag, jlong size, jlong *tag_ptr, jint length, void *user_data)
 
typedef jvmtiIterationControl(JNICALLjvmtiHeapObjectCallback) (jlong class_tag, jlong size, jlong *tag_ptr, void *user_data)
 
typedef jint(JNICALLjvmtiHeapReferenceCallback) (jvmtiHeapReferenceKind reference_kind, const jvmtiHeapReferenceInfo *reference_info, jlong class_tag, jlong referrer_class_tag, jlong size, jlong *tag_ptr, jlong *referrer_tag_ptr, jint length, void *user_data)
 
typedef union _jvmtiHeapReferenceInfo jvmtiHeapReferenceInfo
 
typedef struct _jvmtiHeapReferenceInfoArray jvmtiHeapReferenceInfoArray
 
typedef struct _jvmtiHeapReferenceInfoConstantPool jvmtiHeapReferenceInfoConstantPool
 
typedef struct _jvmtiHeapReferenceInfoField jvmtiHeapReferenceInfoField
 
typedef struct _jvmtiHeapReferenceInfoJniLocal jvmtiHeapReferenceInfoJniLocal
 
typedef struct _jvmtiHeapReferenceInfoReserved jvmtiHeapReferenceInfoReserved
 
typedef struct _jvmtiHeapReferenceInfoStackLocal jvmtiHeapReferenceInfoStackLocal
 
typedef jvmtiIterationControl(JNICALLjvmtiHeapRootCallback) (jvmtiHeapRootKind root_kind, jlong class_tag, jlong size, jlong *tag_ptr, void *user_data)
 
typedef struct jvmtiInterface_1_ jvmtiInterface_1
 
typedef struct _jvmtiLineNumberEntry jvmtiLineNumberEntry
 
typedef struct _jvmtiLocalVariableEntry jvmtiLocalVariableEntry
 
typedef struct _jvmtiMonitorStackDepthInfo jvmtiMonitorStackDepthInfo
 
typedef struct _jvmtiMonitorUsage jvmtiMonitorUsage
 
typedef jvmtiIterationControl(JNICALLjvmtiObjectReferenceCallback) (jvmtiObjectReferenceKind reference_kind, jlong class_tag, jlong size, jlong *tag_ptr, jlong referrer_tag, jint referrer_index, void *user_data)
 
typedef struct _jvmtiParamInfo jvmtiParamInfo
 
typedef jint(JNICALLjvmtiPrimitiveFieldCallback) (jvmtiHeapReferenceKind kind, const jvmtiHeapReferenceInfo *info, jlong object_class_tag, jlong *object_tag_ptr, jvalue value, jvmtiPrimitiveType value_type, void *user_data)
 
typedef jint(JNICALLjvmtiReservedCallback) ()
 
typedef struct _jvmtiStackInfo jvmtiStackInfo
 
typedef jvmtiIterationControl(JNICALLjvmtiStackReferenceCallback) (jvmtiHeapRootKind root_kind, jlong class_tag, jlong size, jlong *tag_ptr, jlong thread_tag, jint depth, jmethodID method, jint slot, void *user_data)
 
typedef void(JNICALLjvmtiStartFunction) (jvmtiEnv *jvmti_env, JNIEnv *jni_env, void *arg)
 
typedef jint(JNICALLjvmtiStringPrimitiveValueCallback) (jlong class_tag, jlong size, jlong *tag_ptr, const jchar *value, jint value_length, void *user_data)
 
typedef struct _jvmtiThreadGroupInfo jvmtiThreadGroupInfo
 
typedef struct _jvmtiThreadInfo jvmtiThreadInfo
 
typedef struct _jvmtiTimerInfo jvmtiTimerInfo
 

Enumerations

enum  {
  JVMTI_VERSION_1 = 0x30010000, JVMTI_VERSION_1_0 = 0x30010000, JVMTI_VERSION_1_1 = 0x30010100, JVMTI_VERSION_1_2 = 0x30010200,
  JVMTI_VERSION = 0x30000000 + (1 * 0x10000) + (2 * 0x100) + 1
}
 
enum  {
  JVMTI_THREAD_STATE_ALIVE = 0x0001, JVMTI_THREAD_STATE_TERMINATED = 0x0002, JVMTI_THREAD_STATE_RUNNABLE = 0x0004, JVMTI_THREAD_STATE_BLOCKED_ON_MONITOR_ENTER = 0x0400,
  JVMTI_THREAD_STATE_WAITING = 0x0080, JVMTI_THREAD_STATE_WAITING_INDEFINITELY = 0x0010, JVMTI_THREAD_STATE_WAITING_WITH_TIMEOUT = 0x0020, JVMTI_THREAD_STATE_SLEEPING = 0x0040,
  JVMTI_THREAD_STATE_IN_OBJECT_WAIT = 0x0100, JVMTI_THREAD_STATE_PARKED = 0x0200, JVMTI_THREAD_STATE_SUSPENDED = 0x100000, JVMTI_THREAD_STATE_INTERRUPTED = 0x200000,
  JVMTI_THREAD_STATE_IN_NATIVE = 0x400000, JVMTI_THREAD_STATE_VENDOR_1 = 0x10000000, JVMTI_THREAD_STATE_VENDOR_2 = 0x20000000, JVMTI_THREAD_STATE_VENDOR_3 = 0x40000000
}
 
enum  {
  JVMTI_JAVA_LANG_THREAD_STATE_MASK = JVMTI_THREAD_STATE_TERMINATED | JVMTI_THREAD_STATE_ALIVE | JVMTI_THREAD_STATE_RUNNABLE | JVMTI_THREAD_STATE_BLOCKED_ON_MONITOR_ENTER | JVMTI_THREAD_STATE_WAITING | JVMTI_THREAD_STATE_WAITING_INDEFINITELY | JVMTI_THREAD_STATE_WAITING_WITH_TIMEOUT, JVMTI_JAVA_LANG_THREAD_STATE_NEW = 0, JVMTI_JAVA_LANG_THREAD_STATE_TERMINATED = JVMTI_THREAD_STATE_TERMINATED, JVMTI_JAVA_LANG_THREAD_STATE_RUNNABLE = JVMTI_THREAD_STATE_ALIVE | JVMTI_THREAD_STATE_RUNNABLE,
  JVMTI_JAVA_LANG_THREAD_STATE_BLOCKED = JVMTI_THREAD_STATE_ALIVE | JVMTI_THREAD_STATE_BLOCKED_ON_MONITOR_ENTER, JVMTI_JAVA_LANG_THREAD_STATE_WAITING = JVMTI_THREAD_STATE_ALIVE | JVMTI_THREAD_STATE_WAITING | JVMTI_THREAD_STATE_WAITING_INDEFINITELY, JVMTI_JAVA_LANG_THREAD_STATE_TIMED_WAITING = JVMTI_THREAD_STATE_ALIVE | JVMTI_THREAD_STATE_WAITING | JVMTI_THREAD_STATE_WAITING_WITH_TIMEOUT
}
 
enum  { JVMTI_THREAD_MIN_PRIORITY = 1, JVMTI_THREAD_NORM_PRIORITY = 5, JVMTI_THREAD_MAX_PRIORITY = 10 }
 
enum  { JVMTI_HEAP_FILTER_TAGGED = 0x4, JVMTI_HEAP_FILTER_UNTAGGED = 0x8, JVMTI_HEAP_FILTER_CLASS_TAGGED = 0x10, JVMTI_HEAP_FILTER_CLASS_UNTAGGED = 0x20 }
 
enum  { JVMTI_VISIT_OBJECTS = 0x100, JVMTI_VISIT_ABORT = 0x8000 }
 
enum  {
  JVMTI_CLASS_STATUS_VERIFIED = 1, JVMTI_CLASS_STATUS_PREPARED = 2, JVMTI_CLASS_STATUS_INITIALIZED = 4, JVMTI_CLASS_STATUS_ERROR = 8,
  JVMTI_CLASS_STATUS_ARRAY = 16, JVMTI_CLASS_STATUS_PRIMITIVE = 32
}
 
enum  { JVMTI_VERSION_INTERFACE_JNI = 0x00000000, JVMTI_VERSION_INTERFACE_JVMTI = 0x30000000 }
 
enum  { JVMTI_VERSION_MASK_INTERFACE_TYPE = 0x70000000, JVMTI_VERSION_MASK_MAJOR = 0x0FFF0000, JVMTI_VERSION_MASK_MINOR = 0x0000FF00, JVMTI_VERSION_MASK_MICRO = 0x000000FF }
 
enum  { JVMTI_VERSION_SHIFT_MAJOR = 16, JVMTI_VERSION_SHIFT_MINOR = 8, JVMTI_VERSION_SHIFT_MICRO = 0 }
 
enum  { JVMTI_RESOURCE_EXHAUSTED_OOM_ERROR = 0x0001, JVMTI_RESOURCE_EXHAUSTED_JAVA_HEAP = 0x0002, JVMTI_RESOURCE_EXHAUSTED_THREADS = 0x0004 }
 
enum  jvmtiError {
  JVMTI_ERROR_NONE = 0, JVMTI_ERROR_INVALID_THREAD = 10, JVMTI_ERROR_INVALID_THREAD_GROUP = 11, JVMTI_ERROR_INVALID_PRIORITY = 12,
  JVMTI_ERROR_THREAD_NOT_SUSPENDED = 13, JVMTI_ERROR_THREAD_SUSPENDED = 14, JVMTI_ERROR_THREAD_NOT_ALIVE = 15, JVMTI_ERROR_INVALID_OBJECT = 20,
  JVMTI_ERROR_INVALID_CLASS = 21, JVMTI_ERROR_CLASS_NOT_PREPARED = 22, JVMTI_ERROR_INVALID_METHODID = 23, JVMTI_ERROR_INVALID_LOCATION = 24,
  JVMTI_ERROR_INVALID_FIELDID = 25, JVMTI_ERROR_NO_MORE_FRAMES = 31, JVMTI_ERROR_OPAQUE_FRAME = 32, JVMTI_ERROR_TYPE_MISMATCH = 34,
  JVMTI_ERROR_INVALID_SLOT = 35, JVMTI_ERROR_DUPLICATE = 40, JVMTI_ERROR_NOT_FOUND = 41, JVMTI_ERROR_INVALID_MONITOR = 50,
  JVMTI_ERROR_NOT_MONITOR_OWNER = 51, JVMTI_ERROR_INTERRUPT = 52, JVMTI_ERROR_INVALID_CLASS_FORMAT = 60, JVMTI_ERROR_CIRCULAR_CLASS_DEFINITION = 61,
  JVMTI_ERROR_FAILS_VERIFICATION = 62, JVMTI_ERROR_UNSUPPORTED_REDEFINITION_METHOD_ADDED = 63, JVMTI_ERROR_UNSUPPORTED_REDEFINITION_SCHEMA_CHANGED = 64, JVMTI_ERROR_INVALID_TYPESTATE = 65,
  JVMTI_ERROR_UNSUPPORTED_REDEFINITION_HIERARCHY_CHANGED = 66, JVMTI_ERROR_UNSUPPORTED_REDEFINITION_METHOD_DELETED = 67, JVMTI_ERROR_UNSUPPORTED_VERSION = 68, JVMTI_ERROR_NAMES_DONT_MATCH = 69,
  JVMTI_ERROR_UNSUPPORTED_REDEFINITION_CLASS_MODIFIERS_CHANGED = 70, JVMTI_ERROR_UNSUPPORTED_REDEFINITION_METHOD_MODIFIERS_CHANGED = 71, JVMTI_ERROR_UNMODIFIABLE_CLASS = 79, JVMTI_ERROR_NOT_AVAILABLE = 98,
  JVMTI_ERROR_MUST_POSSESS_CAPABILITY = 99, JVMTI_ERROR_NULL_POINTER = 100, JVMTI_ERROR_ABSENT_INFORMATION = 101, JVMTI_ERROR_INVALID_EVENT_TYPE = 102,
  JVMTI_ERROR_ILLEGAL_ARGUMENT = 103, JVMTI_ERROR_NATIVE_METHOD = 104, JVMTI_ERROR_CLASS_LOADER_UNSUPPORTED = 106, JVMTI_ERROR_OUT_OF_MEMORY = 110,
  JVMTI_ERROR_ACCESS_DENIED = 111, JVMTI_ERROR_WRONG_PHASE = 112, JVMTI_ERROR_INTERNAL = 113, JVMTI_ERROR_UNATTACHED_THREAD = 115,
  JVMTI_ERROR_INVALID_ENVIRONMENT = 116, JVMTI_ERROR_MAX = 116
}
 
enum  jvmtiEvent {
  JVMTI_MIN_EVENT_TYPE_VAL = 50, JVMTI_EVENT_VM_INIT = 50, JVMTI_EVENT_VM_DEATH = 51, JVMTI_EVENT_THREAD_START = 52,
  JVMTI_EVENT_THREAD_END = 53, JVMTI_EVENT_CLASS_FILE_LOAD_HOOK = 54, JVMTI_EVENT_CLASS_LOAD = 55, JVMTI_EVENT_CLASS_PREPARE = 56,
  JVMTI_EVENT_VM_START = 57, JVMTI_EVENT_EXCEPTION = 58, JVMTI_EVENT_EXCEPTION_CATCH = 59, JVMTI_EVENT_SINGLE_STEP = 60,
  JVMTI_EVENT_FRAME_POP = 61, JVMTI_EVENT_BREAKPOINT = 62, JVMTI_EVENT_FIELD_ACCESS = 63, JVMTI_EVENT_FIELD_MODIFICATION = 64,
  JVMTI_EVENT_METHOD_ENTRY = 65, JVMTI_EVENT_METHOD_EXIT = 66, JVMTI_EVENT_NATIVE_METHOD_BIND = 67, JVMTI_EVENT_COMPILED_METHOD_LOAD = 68,
  JVMTI_EVENT_COMPILED_METHOD_UNLOAD = 69, JVMTI_EVENT_DYNAMIC_CODE_GENERATED = 70, JVMTI_EVENT_DATA_DUMP_REQUEST = 71, JVMTI_EVENT_MONITOR_WAIT = 73,
  JVMTI_EVENT_MONITOR_WAITED = 74, JVMTI_EVENT_MONITOR_CONTENDED_ENTER = 75, JVMTI_EVENT_MONITOR_CONTENDED_ENTERED = 76, JVMTI_EVENT_RESOURCE_EXHAUSTED = 80,
  JVMTI_EVENT_GARBAGE_COLLECTION_START = 81, JVMTI_EVENT_GARBAGE_COLLECTION_FINISH = 82, JVMTI_EVENT_OBJECT_FREE = 83, JVMTI_EVENT_VM_OBJECT_ALLOC = 84,
  JVMTI_MAX_EVENT_TYPE_VAL = 84
}
 
enum  jvmtiEventMode { JVMTI_ENABLE = 1, JVMTI_DISABLE = 0 }
 
enum  jvmtiHeapObjectFilter { JVMTI_HEAP_OBJECT_TAGGED = 1, JVMTI_HEAP_OBJECT_UNTAGGED = 2, JVMTI_HEAP_OBJECT_EITHER = 3 }
 
enum  jvmtiHeapReferenceKind {
  JVMTI_HEAP_REFERENCE_CLASS = 1, JVMTI_HEAP_REFERENCE_FIELD = 2, JVMTI_HEAP_REFERENCE_ARRAY_ELEMENT = 3, JVMTI_HEAP_REFERENCE_CLASS_LOADER = 4,
  JVMTI_HEAP_REFERENCE_SIGNERS = 5, JVMTI_HEAP_REFERENCE_PROTECTION_DOMAIN = 6, JVMTI_HEAP_REFERENCE_INTERFACE = 7, JVMTI_HEAP_REFERENCE_STATIC_FIELD = 8,
  JVMTI_HEAP_REFERENCE_CONSTANT_POOL = 9, JVMTI_HEAP_REFERENCE_SUPERCLASS = 10, JVMTI_HEAP_REFERENCE_JNI_GLOBAL = 21, JVMTI_HEAP_REFERENCE_SYSTEM_CLASS = 22,
  JVMTI_HEAP_REFERENCE_MONITOR = 23, JVMTI_HEAP_REFERENCE_STACK_LOCAL = 24, JVMTI_HEAP_REFERENCE_JNI_LOCAL = 25, JVMTI_HEAP_REFERENCE_THREAD = 26,
  JVMTI_HEAP_REFERENCE_OTHER = 27
}
 
enum  jvmtiHeapRootKind {
  JVMTI_HEAP_ROOT_JNI_GLOBAL = 1, JVMTI_HEAP_ROOT_SYSTEM_CLASS = 2, JVMTI_HEAP_ROOT_MONITOR = 3, JVMTI_HEAP_ROOT_STACK_LOCAL = 4,
  JVMTI_HEAP_ROOT_JNI_LOCAL = 5, JVMTI_HEAP_ROOT_THREAD = 6, JVMTI_HEAP_ROOT_OTHER = 7
}
 
enum  jvmtiIterationControl { JVMTI_ITERATION_CONTINUE = 1, JVMTI_ITERATION_IGNORE = 2, JVMTI_ITERATION_ABORT = 0 }
 
enum  jvmtiJlocationFormat { JVMTI_JLOCATION_JVMBCI = 1, JVMTI_JLOCATION_MACHINEPC = 2, JVMTI_JLOCATION_OTHER = 0 }
 
enum  jvmtiObjectReferenceKind {
  JVMTI_REFERENCE_CLASS = 1, JVMTI_REFERENCE_FIELD = 2, JVMTI_REFERENCE_ARRAY_ELEMENT = 3, JVMTI_REFERENCE_CLASS_LOADER = 4,
  JVMTI_REFERENCE_SIGNERS = 5, JVMTI_REFERENCE_PROTECTION_DOMAIN = 6, JVMTI_REFERENCE_INTERFACE = 7, JVMTI_REFERENCE_STATIC_FIELD = 8,
  JVMTI_REFERENCE_CONSTANT_POOL = 9
}
 
enum  jvmtiParamKind {
  JVMTI_KIND_IN = 91, JVMTI_KIND_IN_PTR = 92, JVMTI_KIND_IN_BUF = 93, JVMTI_KIND_ALLOC_BUF = 94,
  JVMTI_KIND_ALLOC_ALLOC_BUF = 95, JVMTI_KIND_OUT = 96, JVMTI_KIND_OUT_BUF = 97
}
 
enum  jvmtiParamTypes {
  JVMTI_TYPE_JBYTE = 101, JVMTI_TYPE_JCHAR = 102, JVMTI_TYPE_JSHORT = 103, JVMTI_TYPE_JINT = 104,
  JVMTI_TYPE_JLONG = 105, JVMTI_TYPE_JFLOAT = 106, JVMTI_TYPE_JDOUBLE = 107, JVMTI_TYPE_JBOOLEAN = 108,
  JVMTI_TYPE_JOBJECT = 109, JVMTI_TYPE_JTHREAD = 110, JVMTI_TYPE_JCLASS = 111, JVMTI_TYPE_JVALUE = 112,
  JVMTI_TYPE_JFIELDID = 113, JVMTI_TYPE_JMETHODID = 114, JVMTI_TYPE_CCHAR = 115, JVMTI_TYPE_CVOID = 116,
  JVMTI_TYPE_JNIENV = 117
}
 
enum  jvmtiPhase {
  JVMTI_PHASE_ONLOAD = 1, JVMTI_PHASE_PRIMORDIAL = 2, JVMTI_PHASE_START = 6, JVMTI_PHASE_LIVE = 4,
  JVMTI_PHASE_DEAD = 8
}
 
enum  jvmtiPrimitiveType {
  JVMTI_PRIMITIVE_TYPE_BOOLEAN = 90, JVMTI_PRIMITIVE_TYPE_BYTE = 66, JVMTI_PRIMITIVE_TYPE_CHAR = 67, JVMTI_PRIMITIVE_TYPE_SHORT = 83,
  JVMTI_PRIMITIVE_TYPE_INT = 73, JVMTI_PRIMITIVE_TYPE_LONG = 74, JVMTI_PRIMITIVE_TYPE_FLOAT = 70, JVMTI_PRIMITIVE_TYPE_DOUBLE = 68
}
 
enum  jvmtiTimerKind { JVMTI_TIMER_USER_CPU = 30, JVMTI_TIMER_TOTAL_CPU = 31, JVMTI_TIMER_ELAPSED = 32 }
 
enum  jvmtiVerboseFlag { JVMTI_VERBOSE_OTHER = 0, JVMTI_VERBOSE_GC = 1, JVMTI_VERBOSE_CLASS = 2, JVMTI_VERBOSE_JNI = 4 }
 

Functions

JNIEXPORT jint JNICALL Agent_OnAttach (JavaVM *vm, char *options, void *reserved)
 
JNIEXPORT jint JNICALL Agent_OnLoad (JavaVM *vm, char *options, void *reserved)
 
JNIEXPORT void JNICALL Agent_OnUnload (JavaVM *vm)
 

Typedef Documentation

◆ jlocation

typedef jlong jlocation

Definition at line 74 of file jvmti.h.

◆ jniNativeInterface

Definition at line 77 of file jvmti.h.

◆ jrawMonitorID

typedef struct _jrawMonitorID* jrawMonitorID

Definition at line 76 of file jvmti.h.

◆ jthread

typedef jobject jthread

Definition at line 72 of file jvmti.h.

◆ jthreadGroup

Definition at line 73 of file jvmti.h.

◆ jvmtiAddrLocationMap

Definition at line 473 of file jvmti.h.

◆ jvmtiArrayPrimitiveValueCallback

typedef jint(JNICALL * jvmtiArrayPrimitiveValueCallback) (jlong class_tag, jlong size, jlong *tag_ptr, jint element_count, jvmtiPrimitiveType element_type, const void *elements, void *user_data)

Definition at line 490 of file jvmti.h.

◆ jvmtiClassDefinition

Definition at line 457 of file jvmti.h.

◆ jvmtiEnv

typedef const struct jvmtiInterface_1_* jvmtiEnv

Definition at line 67 of file jvmti.h.

◆ jvmtiEventBreakpoint

typedef void(JNICALL * jvmtiEventBreakpoint) (jvmtiEnv *jvmti_env, JNIEnv *jni_env, jthread thread, jmethodID method, jlocation location)

Definition at line 721 of file jvmti.h.

◆ jvmtiEventClassFileLoadHook

typedef void(JNICALL * jvmtiEventClassFileLoadHook) (jvmtiEnv *jvmti_env, JNIEnv *jni_env, jclass class_being_redefined, jobject loader, const char *name, jobject protection_domain, jint class_data_len, const unsigned char *class_data, jint *new_class_data_len, unsigned char **new_class_data)

Definition at line 728 of file jvmti.h.

◆ jvmtiEventClassLoad

typedef void(JNICALL * jvmtiEventClassLoad) (jvmtiEnv *jvmti_env, JNIEnv *jni_env, jthread thread, jclass klass)

Definition at line 740 of file jvmti.h.

◆ jvmtiEventClassPrepare

typedef void(JNICALL * jvmtiEventClassPrepare) (jvmtiEnv *jvmti_env, JNIEnv *jni_env, jthread thread, jclass klass)

Definition at line 746 of file jvmti.h.

◆ jvmtiEventCompiledMethodLoad

typedef void(JNICALL * jvmtiEventCompiledMethodLoad) (jvmtiEnv *jvmti_env, jmethodID method, jint code_size, const void *code_addr, jint map_length, const jvmtiAddrLocationMap *map, const void *compile_info)

Definition at line 752 of file jvmti.h.

◆ jvmtiEventCompiledMethodUnload

typedef void(JNICALL * jvmtiEventCompiledMethodUnload) (jvmtiEnv *jvmti_env, jmethodID method, const void *code_addr)

Definition at line 761 of file jvmti.h.

◆ jvmtiEventDataDumpRequest

typedef void(JNICALL * jvmtiEventDataDumpRequest) (jvmtiEnv *jvmti_env)

Definition at line 766 of file jvmti.h.

◆ jvmtiEventDynamicCodeGenerated

typedef void(JNICALL * jvmtiEventDynamicCodeGenerated) (jvmtiEnv *jvmti_env, const char *name, const void *address, jint length)

Definition at line 769 of file jvmti.h.

◆ jvmtiEventException

typedef void(JNICALL * jvmtiEventException) (jvmtiEnv *jvmti_env, JNIEnv *jni_env, jthread thread, jmethodID method, jlocation location, jobject exception, jmethodID catch_method, jlocation catch_location)

Definition at line 775 of file jvmti.h.

◆ jvmtiEventExceptionCatch

typedef void(JNICALL * jvmtiEventExceptionCatch) (jvmtiEnv *jvmti_env, JNIEnv *jni_env, jthread thread, jmethodID method, jlocation location, jobject exception)

Definition at line 785 of file jvmti.h.

◆ jvmtiEventFieldAccess

typedef void(JNICALL * jvmtiEventFieldAccess) (jvmtiEnv *jvmti_env, JNIEnv *jni_env, jthread thread, jmethodID method, jlocation location, jclass field_klass, jobject object, jfieldID field)

Definition at line 793 of file jvmti.h.

◆ jvmtiEventFieldModification

typedef void(JNICALL * jvmtiEventFieldModification) (jvmtiEnv *jvmti_env, JNIEnv *jni_env, jthread thread, jmethodID method, jlocation location, jclass field_klass, jobject object, jfieldID field, char signature_type, jvalue new_value)

Definition at line 803 of file jvmti.h.

◆ jvmtiEventFramePop

typedef void(JNICALL * jvmtiEventFramePop) (jvmtiEnv *jvmti_env, JNIEnv *jni_env, jthread thread, jmethodID method, jboolean was_popped_by_exception)

Definition at line 815 of file jvmti.h.

◆ jvmtiEventGarbageCollectionFinish

typedef void(JNICALL * jvmtiEventGarbageCollectionFinish) (jvmtiEnv *jvmti_env)

Definition at line 822 of file jvmti.h.

◆ jvmtiEventGarbageCollectionStart

typedef void(JNICALL * jvmtiEventGarbageCollectionStart) (jvmtiEnv *jvmti_env)

Definition at line 825 of file jvmti.h.

◆ jvmtiEventMethodEntry

typedef void(JNICALL * jvmtiEventMethodEntry) (jvmtiEnv *jvmti_env, JNIEnv *jni_env, jthread thread, jmethodID method)

Definition at line 828 of file jvmti.h.

◆ jvmtiEventMethodExit

typedef void(JNICALL * jvmtiEventMethodExit) (jvmtiEnv *jvmti_env, JNIEnv *jni_env, jthread thread, jmethodID method, jboolean was_popped_by_exception, jvalue return_value)

Definition at line 834 of file jvmti.h.

◆ jvmtiEventMonitorContendedEnter

typedef void(JNICALL * jvmtiEventMonitorContendedEnter) (jvmtiEnv *jvmti_env, JNIEnv *jni_env, jthread thread, jobject object)

Definition at line 842 of file jvmti.h.

◆ jvmtiEventMonitorContendedEntered

typedef void(JNICALL * jvmtiEventMonitorContendedEntered) (jvmtiEnv *jvmti_env, JNIEnv *jni_env, jthread thread, jobject object)

Definition at line 848 of file jvmti.h.

◆ jvmtiEventMonitorWait

typedef void(JNICALL * jvmtiEventMonitorWait) (jvmtiEnv *jvmti_env, JNIEnv *jni_env, jthread thread, jobject object, jlong timeout)

Definition at line 854 of file jvmti.h.

◆ jvmtiEventMonitorWaited

typedef void(JNICALL * jvmtiEventMonitorWaited) (jvmtiEnv *jvmti_env, JNIEnv *jni_env, jthread thread, jobject object, jboolean timed_out)

Definition at line 861 of file jvmti.h.

◆ jvmtiEventNativeMethodBind

typedef void(JNICALL * jvmtiEventNativeMethodBind) (jvmtiEnv *jvmti_env, JNIEnv *jni_env, jthread thread, jmethodID method, void *address, void **new_address_ptr)

Definition at line 868 of file jvmti.h.

◆ jvmtiEventObjectFree

typedef void(JNICALL * jvmtiEventObjectFree) (jvmtiEnv *jvmti_env, jlong tag)

Definition at line 876 of file jvmti.h.

◆ jvmtiEventReserved

typedef void(JNICALL * jvmtiEventReserved) (void)

Definition at line 717 of file jvmti.h.

◆ jvmtiEventResourceExhausted

typedef void(JNICALL * jvmtiEventResourceExhausted) (jvmtiEnv *jvmti_env, JNIEnv *jni_env, jint flags, const void *reserved, const char *description)

Definition at line 880 of file jvmti.h.

◆ jvmtiEventSingleStep

typedef void(JNICALL * jvmtiEventSingleStep) (jvmtiEnv *jvmti_env, JNIEnv *jni_env, jthread thread, jmethodID method, jlocation location)

Definition at line 887 of file jvmti.h.

◆ jvmtiEventThreadEnd

typedef void(JNICALL * jvmtiEventThreadEnd) (jvmtiEnv *jvmti_env, JNIEnv *jni_env, jthread thread)

Definition at line 894 of file jvmti.h.

◆ jvmtiEventThreadStart

typedef void(JNICALL * jvmtiEventThreadStart) (jvmtiEnv *jvmti_env, JNIEnv *jni_env, jthread thread)

Definition at line 899 of file jvmti.h.

◆ jvmtiEventVMDeath

typedef void(JNICALL * jvmtiEventVMDeath) (jvmtiEnv *jvmti_env, JNIEnv *jni_env)

Definition at line 904 of file jvmti.h.

◆ jvmtiEventVMInit

typedef void(JNICALL * jvmtiEventVMInit) (jvmtiEnv *jvmti_env, JNIEnv *jni_env, jthread thread)

Definition at line 908 of file jvmti.h.

◆ jvmtiEventVMObjectAlloc

typedef void(JNICALL * jvmtiEventVMObjectAlloc) (jvmtiEnv *jvmti_env, JNIEnv *jni_env, jthread thread, jobject object, jclass object_klass, jlong size)

Definition at line 913 of file jvmti.h.

◆ jvmtiEventVMStart

typedef void(JNICALL * jvmtiEventVMStart) (jvmtiEnv *jvmti_env, JNIEnv *jni_env)

Definition at line 921 of file jvmti.h.

◆ jvmtiExtensionEvent

typedef void(JNICALL * jvmtiExtensionEvent) (jvmtiEnv *jvmti_env,...)

Definition at line 514 of file jvmti.h.

◆ jvmtiExtensionEventInfo

Definition at line 469 of file jvmti.h.

◆ jvmtiExtensionFunction

typedef jvmtiError(JNICALL * jvmtiExtensionFunction) (jvmtiEnv *jvmti_env,...)

Definition at line 511 of file jvmti.h.

◆ jvmtiExtensionFunctionInfo

Definition at line 467 of file jvmti.h.

◆ jvmtiFrameInfo

Definition at line 437 of file jvmti.h.

◆ jvmtiHeapCallbacks

Definition at line 455 of file jvmti.h.

◆ jvmtiHeapIterationCallback

typedef jint(JNICALL * jvmtiHeapIterationCallback) (jlong class_tag, jlong size, jlong *tag_ptr, jint length, void *user_data)

Definition at line 481 of file jvmti.h.

◆ jvmtiHeapObjectCallback

typedef jvmtiIterationControl(JNICALL * jvmtiHeapObjectCallback) (jlong class_tag, jlong size, jlong *tag_ptr, void *user_data)

Definition at line 499 of file jvmti.h.

◆ jvmtiHeapReferenceCallback

typedef jint(JNICALL * jvmtiHeapReferenceCallback) (jvmtiHeapReferenceKind reference_kind, const jvmtiHeapReferenceInfo *reference_info, jlong class_tag, jlong referrer_class_tag, jlong size, jlong *tag_ptr, jlong *referrer_tag_ptr, jint length, void *user_data)

Definition at line 484 of file jvmti.h.

◆ jvmtiHeapReferenceInfo

Definition at line 453 of file jvmti.h.

◆ jvmtiHeapReferenceInfoArray

Definition at line 443 of file jvmti.h.

◆ jvmtiHeapReferenceInfoConstantPool

Definition at line 445 of file jvmti.h.

◆ jvmtiHeapReferenceInfoField

Definition at line 441 of file jvmti.h.

◆ jvmtiHeapReferenceInfoJniLocal

Definition at line 449 of file jvmti.h.

◆ jvmtiHeapReferenceInfoReserved

Definition at line 451 of file jvmti.h.

◆ jvmtiHeapReferenceInfoStackLocal

Definition at line 447 of file jvmti.h.

◆ jvmtiHeapRootCallback

typedef jvmtiIterationControl(JNICALL * jvmtiHeapRootCallback) (jvmtiHeapRootKind root_kind, jlong class_tag, jlong size, jlong *tag_ptr, void *user_data)

Definition at line 502 of file jvmti.h.

◆ jvmtiInterface_1

◆ jvmtiLineNumberEntry

Definition at line 461 of file jvmti.h.

◆ jvmtiLocalVariableEntry

Definition at line 463 of file jvmti.h.

◆ jvmtiMonitorStackDepthInfo

Definition at line 433 of file jvmti.h.

◆ jvmtiMonitorUsage

Definition at line 459 of file jvmti.h.

◆ jvmtiObjectReferenceCallback

typedef jvmtiIterationControl(JNICALL * jvmtiObjectReferenceCallback) (jvmtiObjectReferenceKind reference_kind, jlong class_tag, jlong size, jlong *tag_ptr, jlong referrer_tag, jint referrer_index, void *user_data)

Definition at line 508 of file jvmti.h.

◆ jvmtiParamInfo

Definition at line 465 of file jvmti.h.

◆ jvmtiPrimitiveFieldCallback

typedef jint(JNICALL * jvmtiPrimitiveFieldCallback) (jvmtiHeapReferenceKind kind, const jvmtiHeapReferenceInfo *info, jlong object_class_tag, jlong *object_tag_ptr, jvalue value, jvmtiPrimitiveType value_type, void *user_data)

Definition at line 487 of file jvmti.h.

◆ jvmtiReservedCallback

typedef jint(JNICALL * jvmtiReservedCallback) ()

Definition at line 496 of file jvmti.h.

◆ jvmtiStackInfo

Definition at line 439 of file jvmti.h.

◆ jvmtiStackReferenceCallback

typedef jvmtiIterationControl(JNICALL * jvmtiStackReferenceCallback) (jvmtiHeapRootKind root_kind, jlong class_tag, jlong size, jlong *tag_ptr, jlong thread_tag, jint depth, jmethodID method, jint slot, void *user_data)

Definition at line 505 of file jvmti.h.

◆ jvmtiStartFunction

typedef void(JNICALL * jvmtiStartFunction) (jvmtiEnv *jvmti_env, JNIEnv *jni_env, void *arg)

Definition at line 478 of file jvmti.h.

◆ jvmtiStringPrimitiveValueCallback

typedef jint(JNICALL * jvmtiStringPrimitiveValueCallback) (jlong class_tag, jlong size, jlong *tag_ptr, const jchar *value, jint value_length, void *user_data)

Definition at line 493 of file jvmti.h.

◆ jvmtiThreadGroupInfo

Definition at line 435 of file jvmti.h.

◆ jvmtiThreadInfo

Definition at line 431 of file jvmti.h.

◆ jvmtiTimerInfo

Definition at line 471 of file jvmti.h.

Enumeration Type Documentation

◆ anonymous enum

anonymous enum
Enumerator
JVMTI_VERSION_1 
JVMTI_VERSION_1_0 
JVMTI_VERSION_1_1 
JVMTI_VERSION_1_2 
JVMTI_VERSION 

Definition at line 40 of file jvmti.h.

◆ anonymous enum

anonymous enum
Enumerator
JVMTI_THREAD_STATE_ALIVE 
JVMTI_THREAD_STATE_TERMINATED 
JVMTI_THREAD_STATE_RUNNABLE 
JVMTI_THREAD_STATE_BLOCKED_ON_MONITOR_ENTER 
JVMTI_THREAD_STATE_WAITING 
JVMTI_THREAD_STATE_WAITING_INDEFINITELY 
JVMTI_THREAD_STATE_WAITING_WITH_TIMEOUT 
JVMTI_THREAD_STATE_SLEEPING 
JVMTI_THREAD_STATE_IN_OBJECT_WAIT 
JVMTI_THREAD_STATE_PARKED 
JVMTI_THREAD_STATE_SUSPENDED 
JVMTI_THREAD_STATE_INTERRUPTED 
JVMTI_THREAD_STATE_IN_NATIVE 
JVMTI_THREAD_STATE_VENDOR_1 
JVMTI_THREAD_STATE_VENDOR_2 
JVMTI_THREAD_STATE_VENDOR_3 

Definition at line 84 of file jvmti.h.

◆ anonymous enum

anonymous enum
Enumerator
JVMTI_JAVA_LANG_THREAD_STATE_MASK 
JVMTI_JAVA_LANG_THREAD_STATE_NEW 
JVMTI_JAVA_LANG_THREAD_STATE_TERMINATED 
JVMTI_JAVA_LANG_THREAD_STATE_RUNNABLE 
JVMTI_JAVA_LANG_THREAD_STATE_BLOCKED 
JVMTI_JAVA_LANG_THREAD_STATE_WAITING 
JVMTI_JAVA_LANG_THREAD_STATE_TIMED_WAITING 

Definition at line 105 of file jvmti.h.

◆ anonymous enum

anonymous enum
Enumerator
JVMTI_THREAD_MIN_PRIORITY 
JVMTI_THREAD_NORM_PRIORITY 
JVMTI_THREAD_MAX_PRIORITY 

Definition at line 117 of file jvmti.h.

◆ anonymous enum

anonymous enum
Enumerator
JVMTI_HEAP_FILTER_TAGGED 
JVMTI_HEAP_FILTER_UNTAGGED 
JVMTI_HEAP_FILTER_CLASS_TAGGED 
JVMTI_HEAP_FILTER_CLASS_UNTAGGED 

Definition at line 125 of file jvmti.h.

◆ anonymous enum

anonymous enum
Enumerator
JVMTI_VISIT_OBJECTS 
JVMTI_VISIT_ABORT 

Definition at line 134 of file jvmti.h.

◆ anonymous enum

anonymous enum
Enumerator
JVMTI_CLASS_STATUS_VERIFIED 
JVMTI_CLASS_STATUS_PREPARED 
JVMTI_CLASS_STATUS_INITIALIZED 
JVMTI_CLASS_STATUS_ERROR 
JVMTI_CLASS_STATUS_ARRAY 
JVMTI_CLASS_STATUS_PRIMITIVE 

Definition at line 218 of file jvmti.h.

◆ anonymous enum

anonymous enum
Enumerator
JVMTI_VERSION_INTERFACE_JNI 
JVMTI_VERSION_INTERFACE_JVMTI 

Definition at line 288 of file jvmti.h.

◆ anonymous enum

anonymous enum
Enumerator
JVMTI_VERSION_MASK_INTERFACE_TYPE 
JVMTI_VERSION_MASK_MAJOR 
JVMTI_VERSION_MASK_MINOR 
JVMTI_VERSION_MASK_MICRO 

Definition at line 295 of file jvmti.h.

◆ anonymous enum

anonymous enum
Enumerator
JVMTI_VERSION_SHIFT_MAJOR 
JVMTI_VERSION_SHIFT_MINOR 
JVMTI_VERSION_SHIFT_MICRO 

Definition at line 304 of file jvmti.h.

◆ anonymous enum

anonymous enum
Enumerator
JVMTI_RESOURCE_EXHAUSTED_OOM_ERROR 
JVMTI_RESOURCE_EXHAUSTED_JAVA_HEAP 
JVMTI_RESOURCE_EXHAUSTED_THREADS 

Definition at line 329 of file jvmti.h.

◆ jvmtiError

enum jvmtiError
Enumerator
JVMTI_ERROR_NONE 
JVMTI_ERROR_INVALID_THREAD 
JVMTI_ERROR_INVALID_THREAD_GROUP 
JVMTI_ERROR_INVALID_PRIORITY 
JVMTI_ERROR_THREAD_NOT_SUSPENDED 
JVMTI_ERROR_THREAD_SUSPENDED 
JVMTI_ERROR_THREAD_NOT_ALIVE 
JVMTI_ERROR_INVALID_OBJECT 
JVMTI_ERROR_INVALID_CLASS 
JVMTI_ERROR_CLASS_NOT_PREPARED 
JVMTI_ERROR_INVALID_METHODID 
JVMTI_ERROR_INVALID_LOCATION 
JVMTI_ERROR_INVALID_FIELDID 
JVMTI_ERROR_NO_MORE_FRAMES 
JVMTI_ERROR_OPAQUE_FRAME 
JVMTI_ERROR_TYPE_MISMATCH 
JVMTI_ERROR_INVALID_SLOT 
JVMTI_ERROR_DUPLICATE 
JVMTI_ERROR_NOT_FOUND 
JVMTI_ERROR_INVALID_MONITOR 
JVMTI_ERROR_NOT_MONITOR_OWNER 
JVMTI_ERROR_INTERRUPT 
JVMTI_ERROR_INVALID_CLASS_FORMAT 
JVMTI_ERROR_CIRCULAR_CLASS_DEFINITION 
JVMTI_ERROR_FAILS_VERIFICATION 
JVMTI_ERROR_UNSUPPORTED_REDEFINITION_METHOD_ADDED 
JVMTI_ERROR_UNSUPPORTED_REDEFINITION_SCHEMA_CHANGED 
JVMTI_ERROR_INVALID_TYPESTATE 
JVMTI_ERROR_UNSUPPORTED_REDEFINITION_HIERARCHY_CHANGED 
JVMTI_ERROR_UNSUPPORTED_REDEFINITION_METHOD_DELETED 
JVMTI_ERROR_UNSUPPORTED_VERSION 
JVMTI_ERROR_NAMES_DONT_MATCH 
JVMTI_ERROR_UNSUPPORTED_REDEFINITION_CLASS_MODIFIERS_CHANGED 
JVMTI_ERROR_UNSUPPORTED_REDEFINITION_METHOD_MODIFIERS_CHANGED 
JVMTI_ERROR_UNMODIFIABLE_CLASS 
JVMTI_ERROR_NOT_AVAILABLE 
JVMTI_ERROR_MUST_POSSESS_CAPABILITY 
JVMTI_ERROR_NULL_POINTER 
JVMTI_ERROR_ABSENT_INFORMATION 
JVMTI_ERROR_INVALID_EVENT_TYPE 
JVMTI_ERROR_ILLEGAL_ARGUMENT 
JVMTI_ERROR_NATIVE_METHOD 
JVMTI_ERROR_CLASS_LOADER_UNSUPPORTED 
JVMTI_ERROR_OUT_OF_MEMORY 
JVMTI_ERROR_ACCESS_DENIED 
JVMTI_ERROR_WRONG_PHASE 
JVMTI_ERROR_INTERNAL 
JVMTI_ERROR_UNATTACHED_THREAD 
JVMTI_ERROR_INVALID_ENVIRONMENT 
JVMTI_ERROR_MAX 

Definition at line 337 of file jvmti.h.

◆ jvmtiEvent

enum jvmtiEvent
Enumerator
JVMTI_MIN_EVENT_TYPE_VAL 
JVMTI_EVENT_VM_INIT 
JVMTI_EVENT_VM_DEATH 
JVMTI_EVENT_THREAD_START 
JVMTI_EVENT_THREAD_END 
JVMTI_EVENT_CLASS_FILE_LOAD_HOOK 
JVMTI_EVENT_CLASS_LOAD 
JVMTI_EVENT_CLASS_PREPARE 
JVMTI_EVENT_VM_START 
JVMTI_EVENT_EXCEPTION 
JVMTI_EVENT_EXCEPTION_CATCH 
JVMTI_EVENT_SINGLE_STEP 
JVMTI_EVENT_FRAME_POP 
JVMTI_EVENT_BREAKPOINT 
JVMTI_EVENT_FIELD_ACCESS 
JVMTI_EVENT_FIELD_MODIFICATION 
JVMTI_EVENT_METHOD_ENTRY 
JVMTI_EVENT_METHOD_EXIT 
JVMTI_EVENT_NATIVE_METHOD_BIND 
JVMTI_EVENT_COMPILED_METHOD_LOAD 
JVMTI_EVENT_COMPILED_METHOD_UNLOAD 
JVMTI_EVENT_DYNAMIC_CODE_GENERATED 
JVMTI_EVENT_DATA_DUMP_REQUEST 
JVMTI_EVENT_MONITOR_WAIT 
JVMTI_EVENT_MONITOR_WAITED 
JVMTI_EVENT_MONITOR_CONTENDED_ENTER 
JVMTI_EVENT_MONITOR_CONTENDED_ENTERED 
JVMTI_EVENT_RESOURCE_EXHAUSTED 
JVMTI_EVENT_GARBAGE_COLLECTION_START 
JVMTI_EVENT_GARBAGE_COLLECTION_FINISH 
JVMTI_EVENT_OBJECT_FREE 
JVMTI_EVENT_VM_OBJECT_ALLOC 
JVMTI_MAX_EVENT_TYPE_VAL 

Definition at line 392 of file jvmti.h.

◆ jvmtiEventMode

Enumerator
JVMTI_ENABLE 
JVMTI_DISABLE 

Definition at line 229 of file jvmti.h.

◆ jvmtiHeapObjectFilter

Enumerator
JVMTI_HEAP_OBJECT_TAGGED 
JVMTI_HEAP_OBJECT_UNTAGGED 
JVMTI_HEAP_OBJECT_EITHER 

Definition at line 176 of file jvmti.h.

◆ jvmtiHeapReferenceKind

Enumerator
JVMTI_HEAP_REFERENCE_CLASS 
JVMTI_HEAP_REFERENCE_FIELD 
JVMTI_HEAP_REFERENCE_ARRAY_ELEMENT 
JVMTI_HEAP_REFERENCE_CLASS_LOADER 
JVMTI_HEAP_REFERENCE_SIGNERS 
JVMTI_HEAP_REFERENCE_PROTECTION_DOMAIN 
JVMTI_HEAP_REFERENCE_INTERFACE 
JVMTI_HEAP_REFERENCE_STATIC_FIELD 
JVMTI_HEAP_REFERENCE_CONSTANT_POOL 
JVMTI_HEAP_REFERENCE_SUPERCLASS 
JVMTI_HEAP_REFERENCE_JNI_GLOBAL 
JVMTI_HEAP_REFERENCE_SYSTEM_CLASS 
JVMTI_HEAP_REFERENCE_MONITOR 
JVMTI_HEAP_REFERENCE_STACK_LOCAL 
JVMTI_HEAP_REFERENCE_JNI_LOCAL 
JVMTI_HEAP_REFERENCE_THREAD 
JVMTI_HEAP_REFERENCE_OTHER 

Definition at line 141 of file jvmti.h.

◆ jvmtiHeapRootKind

Enumerator
JVMTI_HEAP_ROOT_JNI_GLOBAL 
JVMTI_HEAP_ROOT_SYSTEM_CLASS 
JVMTI_HEAP_ROOT_MONITOR 
JVMTI_HEAP_ROOT_STACK_LOCAL 
JVMTI_HEAP_ROOT_JNI_LOCAL 
JVMTI_HEAP_ROOT_THREAD 
JVMTI_HEAP_ROOT_OTHER 

Definition at line 184 of file jvmti.h.

◆ jvmtiIterationControl

Enumerator
JVMTI_ITERATION_CONTINUE 
JVMTI_ITERATION_IGNORE 
JVMTI_ITERATION_ABORT 

Definition at line 210 of file jvmti.h.

◆ jvmtiJlocationFormat

Enumerator
JVMTI_JLOCATION_JVMBCI 
JVMTI_JLOCATION_MACHINEPC 
JVMTI_JLOCATION_OTHER 

Definition at line 321 of file jvmti.h.

◆ jvmtiObjectReferenceKind

Enumerator
JVMTI_REFERENCE_CLASS 
JVMTI_REFERENCE_FIELD 
JVMTI_REFERENCE_ARRAY_ELEMENT 
JVMTI_REFERENCE_CLASS_LOADER 
JVMTI_REFERENCE_SIGNERS 
JVMTI_REFERENCE_PROTECTION_DOMAIN 
JVMTI_REFERENCE_INTERFACE 
JVMTI_REFERENCE_STATIC_FIELD 
JVMTI_REFERENCE_CONSTANT_POOL 

Definition at line 196 of file jvmti.h.

◆ jvmtiParamKind

Enumerator
JVMTI_KIND_IN 
JVMTI_KIND_IN_PTR 
JVMTI_KIND_IN_BUF 
JVMTI_KIND_ALLOC_BUF 
JVMTI_KIND_ALLOC_ALLOC_BUF 
JVMTI_KIND_OUT 
JVMTI_KIND_OUT_BUF 

Definition at line 258 of file jvmti.h.

◆ jvmtiParamTypes

Enumerator
JVMTI_TYPE_JBYTE 
JVMTI_TYPE_JCHAR 
JVMTI_TYPE_JSHORT 
JVMTI_TYPE_JINT 
JVMTI_TYPE_JLONG 
JVMTI_TYPE_JFLOAT 
JVMTI_TYPE_JDOUBLE 
JVMTI_TYPE_JBOOLEAN 
JVMTI_TYPE_JOBJECT 
JVMTI_TYPE_JTHREAD 
JVMTI_TYPE_JCLASS 
JVMTI_TYPE_JVALUE 
JVMTI_TYPE_JFIELDID 
JVMTI_TYPE_JMETHODID 
JVMTI_TYPE_CCHAR 
JVMTI_TYPE_CVOID 
JVMTI_TYPE_JNIENV 

Definition at line 236 of file jvmti.h.

◆ jvmtiPhase

enum jvmtiPhase
Enumerator
JVMTI_PHASE_ONLOAD 
JVMTI_PHASE_PRIMORDIAL 
JVMTI_PHASE_START 
JVMTI_PHASE_LIVE 
JVMTI_PHASE_DEAD 

Definition at line 278 of file jvmti.h.

◆ jvmtiPrimitiveType

Enumerator
JVMTI_PRIMITIVE_TYPE_BOOLEAN 
JVMTI_PRIMITIVE_TYPE_BYTE 
JVMTI_PRIMITIVE_TYPE_CHAR 
JVMTI_PRIMITIVE_TYPE_SHORT 
JVMTI_PRIMITIVE_TYPE_INT 
JVMTI_PRIMITIVE_TYPE_LONG 
JVMTI_PRIMITIVE_TYPE_FLOAT 
JVMTI_PRIMITIVE_TYPE_DOUBLE 

Definition at line 163 of file jvmti.h.

◆ jvmtiTimerKind

Enumerator
JVMTI_TIMER_USER_CPU 
JVMTI_TIMER_TOTAL_CPU 
JVMTI_TIMER_ELAPSED 

Definition at line 270 of file jvmti.h.

◆ jvmtiVerboseFlag

Enumerator
JVMTI_VERBOSE_OTHER 
JVMTI_VERBOSE_GC 
JVMTI_VERBOSE_CLASS 
JVMTI_VERBOSE_JNI 

Definition at line 312 of file jvmti.h.

Function Documentation

◆ Agent_OnAttach()

JNIEXPORT jint JNICALL Agent_OnAttach ( JavaVM vm,
char *  options,
void *  reserved 
)

◆ Agent_OnLoad()

JNIEXPORT jint JNICALL Agent_OnLoad ( JavaVM vm,
char *  options,
void *  reserved 
)

◆ Agent_OnUnload()

JNIEXPORT void JNICALL Agent_OnUnload ( JavaVM vm)