📄 jvmti.h
字号:
void *reserved97;
/* 98 : RESERVED */
void *reserved98;
/* 99 : RESERVED */
void *reserved99;
/* 100 : Get All Stack Traces */
jvmtiError (JNICALL *GetAllStackTraces) (jvmtiEnv* env,
jint max_frame_count,
jvmtiStackInfo** stack_info_ptr,
jint* thread_count_ptr);
/* 101 : Get Thread List Stack Traces */
jvmtiError (JNICALL *GetThreadListStackTraces) (jvmtiEnv* env,
jint thread_count,
const jthread* thread_list,
jint max_frame_count,
jvmtiStackInfo** stack_info_ptr);
/* 102 : Get Thread Local Storage */
jvmtiError (JNICALL *GetThreadLocalStorage) (jvmtiEnv* env,
jthread thread,
void** data_ptr);
/* 103 : Set Thread Local Storage */
jvmtiError (JNICALL *SetThreadLocalStorage) (jvmtiEnv* env,
jthread thread,
const void* data);
/* 104 : Get Stack Trace */
jvmtiError (JNICALL *GetStackTrace) (jvmtiEnv* env,
jthread thread,
jint start_depth,
jint max_frame_count,
jvmtiFrameInfo* frame_buffer,
jint* count_ptr);
/* 105 : RESERVED */
void *reserved105;
/* 106 : Get Tag */
jvmtiError (JNICALL *GetTag) (jvmtiEnv* env,
jobject object,
jlong* tag_ptr);
/* 107 : Set Tag */
jvmtiError (JNICALL *SetTag) (jvmtiEnv* env,
jobject object,
jlong tag);
/* 108 : Force Garbage Collection */
jvmtiError (JNICALL *ForceGarbageCollection) (jvmtiEnv* env);
/* 109 : Iterate Over Objects Reachable From Object */
jvmtiError (JNICALL *IterateOverObjectsReachableFromObject) (jvmtiEnv* env,
jobject object,
jvmtiObjectReferenceCallback object_reference_callback,
void* user_data);
/* 110 : Iterate Over Reachable Objects */
jvmtiError (JNICALL *IterateOverReachableObjects) (jvmtiEnv* env,
jvmtiHeapRootCallback heap_root_callback,
jvmtiStackReferenceCallback stack_ref_callback,
jvmtiObjectReferenceCallback object_ref_callback,
void* user_data);
/* 111 : Iterate Over Heap */
jvmtiError (JNICALL *IterateOverHeap) (jvmtiEnv* env,
jvmtiHeapObjectFilter object_filter,
jvmtiHeapObjectCallback heap_object_callback,
void* user_data);
/* 112 : Iterate Over Instances Of Class */
jvmtiError (JNICALL *IterateOverInstancesOfClass) (jvmtiEnv* env,
jclass klass,
jvmtiHeapObjectFilter object_filter,
jvmtiHeapObjectCallback heap_object_callback,
void* user_data);
/* 113 : RESERVED */
void *reserved113;
/* 114 : Get Objects With Tags */
jvmtiError (JNICALL *GetObjectsWithTags) (jvmtiEnv* env,
jint tag_count,
const jlong* tags,
jint* count_ptr,
jobject** object_result_ptr,
jlong** tag_result_ptr);
/* 115 : RESERVED */
void *reserved115;
/* 116 : RESERVED */
void *reserved116;
/* 117 : RESERVED */
void *reserved117;
/* 118 : RESERVED */
void *reserved118;
/* 119 : RESERVED */
void *reserved119;
/* 120 : Set JNI Function Table */
jvmtiError (JNICALL *SetJNIFunctionTable) (jvmtiEnv* env,
const jniNativeInterface* function_table);
/* 121 : Get JNI Function Table */
jvmtiError (JNICALL *GetJNIFunctionTable) (jvmtiEnv* env,
jniNativeInterface** function_table);
/* 122 : Set Event Callbacks */
jvmtiError (JNICALL *SetEventCallbacks) (jvmtiEnv* env,
const jvmtiEventCallbacks* callbacks,
jint size_of_callbacks);
/* 123 : Generate Events */
jvmtiError (JNICALL *GenerateEvents) (jvmtiEnv* env,
jvmtiEvent event_type);
/* 124 : Get Extension Functions */
jvmtiError (JNICALL *GetExtensionFunctions) (jvmtiEnv* env,
jint* extension_count_ptr,
jvmtiExtensionFunctionInfo** extensions);
/* 125 : Get Extension Events */
jvmtiError (JNICALL *GetExtensionEvents) (jvmtiEnv* env,
jint* extension_count_ptr,
jvmtiExtensionEventInfo** extensions);
/* 126 : Set Extension Event Callback */
jvmtiError (JNICALL *SetExtensionEventCallback) (jvmtiEnv* env,
jint extension_event_index,
jvmtiExtensionEvent callback);
/* 127 : Dispose Environment */
jvmtiError (JNICALL *DisposeEnvironment) (jvmtiEnv* env);
/* 128 : Get Error Name */
jvmtiError (JNICALL *GetErrorName) (jvmtiEnv* env,
jvmtiError error,
char** name_ptr);
/* 129 : Get JLocation Format */
jvmtiError (JNICALL *GetJLocationFormat) (jvmtiEnv* env,
jvmtiJlocationFormat* format_ptr);
/* 130 : Get System Properties */
jvmtiError (JNICALL *GetSystemProperties) (jvmtiEnv* env,
jint* count_ptr,
char*** property_ptr);
/* 131 : Get System Property */
jvmtiError (JNICALL *GetSystemProperty) (jvmtiEnv* env,
const char* property,
char** value_ptr);
/* 132 : Set System Property */
jvmtiError (JNICALL *SetSystemProperty) (jvmtiEnv* env,
const char* property,
const char* value);
/* 133 : Get Phase */
jvmtiError (JNICALL *GetPhase) (jvmtiEnv* env,
jvmtiPhase* phase_ptr);
/* 134 : Get Current Thread CPU Timer Information */
jvmtiError (JNICALL *GetCurrentThreadCpuTimerInfo) (jvmtiEnv* env,
jvmtiTimerInfo* info_ptr);
/* 135 : Get Current Thread CPU Time */
jvmtiError (JNICALL *GetCurrentThreadCpuTime) (jvmtiEnv* env,
jlong* nanos_ptr);
/* 136 : Get Thread CPU Timer Information */
jvmtiError (JNICALL *GetThreadCpuTimerInfo) (jvmtiEnv* env,
jvmtiTimerInfo* info_ptr);
/* 137 : Get Thread CPU Time */
jvmtiError (JNICALL *GetThreadCpuTime) (jvmtiEnv* env,
jthread thread,
jlong* nanos_ptr);
/* 138 : Get Timer Information */
jvmtiError (JNICALL *GetTimerInfo) (jvmtiEnv* env,
jvmtiTimerInfo* info_ptr);
/* 139 : Get Time */
jvmtiError (JNICALL *GetTime) (jvmtiEnv* env,
jlong* nanos_ptr);
/* 140 : Get Potential Capabilities */
jvmtiError (JNICALL *GetPotentialCapabilities) (jvmtiEnv* env,
jvmtiCapabilities* capabilities_ptr);
/* 141 : RESERVED */
void *reserved141;
/* 142 : Add Capabilities */
jvmtiError (JNICALL *AddCapabilities) (jvmtiEnv* env,
const jvmtiCapabilities* capabilities_ptr);
/* 143 : Relinquish Capabilities */
jvmtiError (JNICALL *RelinquishCapabilities) (jvmtiEnv* env,
const jvmtiCapabilities* capabilities_ptr);
/* 144 : Get Available Processors */
jvmtiError (JNICALL *GetAvailableProcessors) (jvmtiEnv* env,
jint* processor_count_ptr);
/* 145 : RESERVED */
void *reserved145;
/* 146 : RESERVED */
void *reserved146;
/* 147 : Get Environment Local Storage */
jvmtiError (JNICALL *GetEnvironmentLocalStorage) (jvmtiEnv* env,
void** data_ptr);
/* 148 : Set Environment Local Storage */
jvmtiError (JNICALL *SetEnvironmentLocalStorage) (jvmtiEnv* env,
const void* data);
/* 149 : Add To Bootstrap Class Loader Search */
jvmtiError (JNICALL *AddToBootstrapClassLoaderSearch) (jvmtiEnv* env,
const char* segment);
/* 150 : Set Verbose Flag */
jvmtiError (JNICALL *SetVerboseFlag) (jvmtiEnv* env,
jvmtiVerboseFlag flag,
jboolean value);
/* 151 : RESERVED */
void *reserved151;
/* 152 : RESERVED */
void *reserved152;
/* 153 : RESERVED */
void *reserved153;
/* 154 : Get Object Size */
jvmtiError (JNICALL *GetObjectSize) (jvmtiEnv* env,
jobject object,
jlong* size_ptr);
} jvmtiInterface_1;
struct _jvmtiEnv {
const struct jvmtiInterface_1_ *functions;
#ifdef __cplusplus
jvmtiError Allocate(jlong size,
unsigned char** mem_ptr) {
return functions->Allocate(this, size, mem_ptr);
}
jvmtiError Deallocate(unsigned char* mem) {
return functions->Deallocate(this, mem);
}
jvmtiError GetThreadState(jthread thread,
jint* thread_state_ptr) {
return functions->GetThreadState(this, thread, thread_state_ptr);
}
jvmtiError GetAllThreads(jint* threads_count_ptr,
jthread** threads_ptr) {
return functions->GetAllThreads(this, threads_count_ptr, threads_ptr);
}
jvmtiError SuspendThread(jthread thread) {
return functions->SuspendThread(this, thread);
}
jvmtiError SuspendThreadList(jint request_count,
const jthread* request_list,
jvmtiError* results) {
return functions->SuspendThreadList(this, request_count, request_list, results);
}
jvmtiError ResumeThread(jthread thread) {
return functions->ResumeThread(this, thread);
}
jvmtiError ResumeThreadList(jint request_count,
const jthread* request_list,
jvmtiError* results) {
return functions->ResumeThreadList(this, request_count, request_list, results);
}
jvmtiError StopThread(jthread thread,
jobject exception) {
return functions->StopThread(this, thread, exception);
}
jvmtiError InterruptThread(jthread thread) {
return functions->InterruptThread(this, thread);
}
jvmtiError GetThreadInfo(jthread thread,
jvmtiThreadInfo* info_ptr) {
return functions->GetThreadInfo(this, thread, info_ptr);
}
jvmtiError GetOwnedMonitorInfo(jthread thread,
jint* owned_monitor_count_ptr,
jobject** owned_monitors_ptr) {
return functions->GetOwnedMonitorInfo(this, thread, owned_monitor_count_ptr, owned_monitors_ptr);
}
jvmtiError GetCurrentContendedMonitor(jthread thread,
jobject* monitor_ptr) {
return functions->GetCurrentContendedMonitor(this, thread, monitor_ptr);
}
jvmtiError RunAgentThread(jthread thread,
jvmtiStartFunction proc,
const void* arg,
jint priority) {
return functions->RunAgentThread(this, thread, proc, arg, priority);
}
jvmtiError SetThreadLocalStorage(jthread thread,
const void* data) {
return functions->SetThreadLocalStorage(this, thread, data);
}
jvmtiError GetThreadLocalStorage(jthread thread,
void** data_ptr) {
return functions->GetThreadLocalStorage(this, thread, data_ptr);
}
jvmtiError GetTopThreadGroups(jint* group_count_ptr,
jthreadGroup** groups_ptr) {
return functions->GetTopThreadGroups(this, group_count_ptr, groups_ptr);
}
jvmtiError GetThreadGroupInfo(jthreadGroup group,
jvmtiThreadGroupInfo* info_ptr) {
return functions->GetThreadGroupInfo(this, group, info_ptr);
}
jvmtiError GetThreadGroupChildren(jthreadGroup group,
jint* thread_count_ptr,
jthread** threads_ptr,
jint* group_count_ptr,
jthreadGroup** groups_ptr) {
return functions->GetThreadGroupChildren(this, group, thread_count_ptr, threads_ptr, group_count_ptr, groups_ptr);
}
jvmtiError GetStackTrace(jthread thread,
jint start_depth,
jint max_frame_count,
jvmtiFrameInfo* frame_buffer,
jint* count_ptr) {
return functions->GetStackTrace(this, thread, start_depth, max_frame_count, frame_buffer, count_ptr);
}
jvmtiError GetAllStackTraces(jint max_frame_count,
jvmtiStackInfo** stack_info_ptr,
jint* thread_count_ptr) {
return functions->GetAllStackTraces(this, max_frame_count, stack_info_ptr, thread_count_ptr);
}
jvmtiError GetThreadListStackTraces(jint thread_count,
const jthread* thread_list,
jint max_frame_count,
jvmtiStackInfo** stack_info_ptr) {
return functions->GetThreadListStackTraces(this, thread_count, thread_list, max_frame_count, stack_info_ptr);
}
jvmtiError GetFrameCount(jthread thread,
jint* count_ptr) {
return functions->GetFrameCount(this, thread, count_ptr);
}
jvmtiError PopFrame(jthread thread) {
return functions->PopFrame(this, thread);
}
jvmtiError GetFrameLocation(jthread thread,
jint depth,
jmethodID* method_ptr,
jlocation* location_ptr) {
return functions->GetFrameLocation(this, thread, depth, method_ptr, location_ptr);
}
jvmtiError NotifyFramePop(jthread thread,
jint depth) {
return functions->NotifyFramePop(this, thread, depth);
}
jvmtiError GetTag(jobject object,
jlong* tag_ptr) {
return functions->GetTag(this, object, tag_ptr);
}
jvmtiError SetTag(jobject object,
jlong tag) {
return functions->SetTag(this, object, tag);
}
jvmtiError ForceGarbageCollection() {
return functions->ForceGarbageCollection(this);
}
jvmtiError IterateOverObjectsReachableFromObject(jobject object,
jvmtiObjectReferenceCallback object_reference_callback,
void* user_data) {
return functions->IterateOverObjectsReachableFromObject(this, object, object_reference_callback, user_data);
}
jvmtiError IterateOverReachableObjects(jvmtiHeapRootCallback heap_root_callback,
jvmtiStackReferenceCallback stack_ref_callback,
jvmtiObjectReferenceCallback object_ref_callback,
void* user_data) {
return functions->IterateOverReachableObjects(this, heap_root_callback, stack_ref_callback, object_ref_callback, user_data);
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -