📄 jvmti.h
字号:
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); } jvmtiError IterateOverHeap(jvmtiHeapObjectFilter object_filter, jvmtiHeapObjectCallback heap_object_callback, void* user_data) { return functions->IterateOverHeap(this, object_filter, heap_object_callback, user_data); } jvmtiError IterateOverInstancesOfClass(jclass klass, jvmtiHeapObjectFilter object_filter, jvmtiHeapObjectCallback heap_object_callback, void* user_data) { return functions->IterateOverInstancesOfClass(this, klass, object_filter, heap_object_callback, user_data); } jvmtiError GetObjectsWithTags(jint tag_count, const jlong* tags, jint* count_ptr, jobject** object_result_ptr, jlong** tag_result_ptr) { return functions->GetObjectsWithTags(this, tag_count, tags, count_ptr, object_result_ptr, tag_result_ptr); } jvmtiError GetLocalObject(jthread thread, jint depth, jint slot, jobject* value_ptr) { return functions->GetLocalObject(this, thread, depth, slot, value_ptr); } jvmtiError GetLocalInt(jthread thread, jint depth, jint slot, jint* value_ptr) { return functions->GetLocalInt(this, thread, depth, slot, value_ptr); } jvmtiError GetLocalLong(jthread thread, jint depth, jint slot, jlong* value_ptr) { return functions->GetLocalLong(this, thread, depth, slot, value_ptr); } jvmtiError GetLocalFloat(jthread thread, jint depth, jint slot, jfloat* value_ptr) { return functions->GetLocalFloat(this, thread, depth, slot, value_ptr);
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -