⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 jvmti.h

📁 jpcap是一个中间件
💻 H
📖 第 1 页 / 共 5 页
字号:
    char* short_description;    jint param_count;    jvmtiParamInfo* params;    jint error_count;    jvmtiError* errors;} jvmtiExtensionFunctionInfo;typedef struct {    jint extension_event_index;    char* id;    char* short_description;    jint param_count;    jvmtiParamInfo* params;} jvmtiExtensionEventInfo;typedef struct {    jlong max_value;    jboolean may_skip_forward;    jboolean may_skip_backward;    jvmtiTimerKind kind;    jlong reserved1;    jlong reserved2;} jvmtiTimerInfo;typedef struct {    const void* start_address;    jlocation location;} jvmtiAddrLocationMap;typedef struct {    unsigned int can_tag_objects : 1;    unsigned int can_generate_field_modification_events : 1;    unsigned int can_generate_field_access_events : 1;    unsigned int can_get_bytecodes : 1;    unsigned int can_get_synthetic_attribute : 1;    unsigned int can_get_owned_monitor_info : 1;    unsigned int can_get_current_contended_monitor : 1;    unsigned int can_get_monitor_info : 1;    unsigned int can_pop_frame : 1;    unsigned int can_redefine_classes : 1;    unsigned int can_signal_thread : 1;    unsigned int can_get_source_file_name : 1;    unsigned int can_get_line_numbers : 1;    unsigned int can_get_source_debug_extension : 1;    unsigned int can_access_local_variables : 1;    unsigned int can_maintain_original_method_order : 1;    unsigned int can_generate_single_step_events : 1;    unsigned int can_generate_exception_events : 1;    unsigned int can_generate_frame_pop_events : 1;    unsigned int can_generate_breakpoint_events : 1;    unsigned int can_suspend : 1;    unsigned int can_redefine_any_class : 1;    unsigned int can_get_current_thread_cpu_time : 1;    unsigned int can_get_thread_cpu_time : 1;    unsigned int can_generate_method_entry_events : 1;    unsigned int can_generate_method_exit_events : 1;    unsigned int can_generate_all_class_hook_events : 1;    unsigned int can_generate_compiled_method_load_events : 1;    unsigned int can_generate_monitor_events : 1;    unsigned int can_generate_vm_object_alloc_events : 1;    unsigned int can_generate_native_method_bind_events : 1;    unsigned int can_generate_garbage_collection_events : 1;    unsigned int can_generate_object_free_events : 1;    unsigned int : 15;    unsigned int : 16;    unsigned int : 16;    unsigned int : 16;    unsigned int : 16;    unsigned int : 16;} jvmtiCapabilities;    /* Event Definitions */typedef void (JNICALL *jvmtiEventReserved)(void);typedef void (JNICALL *jvmtiEventBreakpoint)    (jvmtiEnv *jvmti_env,      JNIEnv* jni_env,      jthread thread,      jmethodID method,      jlocation location);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);typedef void (JNICALL *jvmtiEventClassLoad)    (jvmtiEnv *jvmti_env,      JNIEnv* jni_env,      jthread thread,      jclass klass);typedef void (JNICALL *jvmtiEventClassPrepare)    (jvmtiEnv *jvmti_env,      JNIEnv* jni_env,      jthread thread,      jclass klass);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);typedef void (JNICALL *jvmtiEventCompiledMethodUnload)    (jvmtiEnv *jvmti_env,      jmethodID method,      const void* code_addr);typedef void (JNICALL *jvmtiEventDataDumpRequest)    (jvmtiEnv *jvmti_env);typedef void (JNICALL *jvmtiEventDynamicCodeGenerated)    (jvmtiEnv *jvmti_env,      const char* name,      const void* address,      jint length);typedef void (JNICALL *jvmtiEventException)    (jvmtiEnv *jvmti_env,      JNIEnv* jni_env,      jthread thread,      jmethodID method,      jlocation location,      jobject exception,      jmethodID catch_method,      jlocation catch_location);typedef void (JNICALL *jvmtiEventExceptionCatch)    (jvmtiEnv *jvmti_env,      JNIEnv* jni_env,      jthread thread,      jmethodID method,      jlocation location,      jobject exception);typedef void (JNICALL *jvmtiEventFieldAccess)    (jvmtiEnv *jvmti_env,      JNIEnv* jni_env,      jthread thread,      jmethodID method,      jlocation location,      jclass field_klass,      jobject object,      jfieldID field);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);typedef void (JNICALL *jvmtiEventFramePop)    (jvmtiEnv *jvmti_env,      JNIEnv* jni_env,      jthread thread,      jmethodID method,      jboolean was_popped_by_exception);typedef void (JNICALL *jvmtiEventGarbageCollectionFinish)    (jvmtiEnv *jvmti_env);typedef void (JNICALL *jvmtiEventGarbageCollectionStart)    (jvmtiEnv *jvmti_env);typedef void (JNICALL *jvmtiEventMethodEntry)    (jvmtiEnv *jvmti_env,      JNIEnv* jni_env,      jthread thread,      jmethodID method);typedef void (JNICALL *jvmtiEventMethodExit)    (jvmtiEnv *jvmti_env,      JNIEnv* jni_env,      jthread thread,      jmethodID method,      jboolean was_popped_by_exception,      jvalue return_value);typedef void (JNICALL *jvmtiEventMonitorContendedEnter)    (jvmtiEnv *jvmti_env,      JNIEnv* jni_env,      jthread thread,      jobject object);typedef void (JNICALL *jvmtiEventMonitorContendedEntered)    (jvmtiEnv *jvmti_env,      JNIEnv* jni_env,      jthread thread,      jobject object);typedef void (JNICALL *jvmtiEventMonitorWait)    (jvmtiEnv *jvmti_env,      JNIEnv* jni_env,      jthread thread,      jobject object,      jlong timeout);typedef void (JNICALL *jvmtiEventMonitorWaited)    (jvmtiEnv *jvmti_env,      JNIEnv* jni_env,      jthread thread,      jobject object,      jboolean timed_out);typedef void (JNICALL *jvmtiEventNativeMethodBind)    (jvmtiEnv *jvmti_env,      JNIEnv* jni_env,      jthread thread,      jmethodID method,      void* address,      void** new_address_ptr);typedef void (JNICALL *jvmtiEventObjectFree)    (jvmtiEnv *jvmti_env,      jlong tag);typedef void (JNICALL *jvmtiEventSingleStep)    (jvmtiEnv *jvmti_env,      JNIEnv* jni_env,      jthread thread,      jmethodID method,      jlocation location);typedef void (JNICALL *jvmtiEventThreadEnd)    (jvmtiEnv *jvmti_env,      JNIEnv* jni_env,      jthread thread);typedef void (JNICALL *jvmtiEventThreadStart)    (jvmtiEnv *jvmti_env,      JNIEnv* jni_env,      jthread thread);typedef void (JNICALL *jvmtiEventVMDeath)    (jvmtiEnv *jvmti_env,      JNIEnv* jni_env);typedef void (JNICALL *jvmtiEventVMInit)    (jvmtiEnv *jvmti_env,      JNIEnv* jni_env,      jthread thread);typedef void (JNICALL *jvmtiEventVMObjectAlloc)    (jvmtiEnv *jvmti_env,      JNIEnv* jni_env,      jthread thread,      jobject object,      jclass object_klass,      jlong size);typedef void (JNICALL *jvmtiEventVMStart)    (jvmtiEnv *jvmti_env,      JNIEnv* jni_env);    /* Event Callback Structure */typedef struct {                              /*   50 : VM Initialization Event */    jvmtiEventVMInit VMInit;                              /*   51 : VM Death Event */    jvmtiEventVMDeath VMDeath;                              /*   52 : Thread Start */    jvmtiEventThreadStart ThreadStart;                              /*   53 : Thread End */    jvmtiEventThreadEnd ThreadEnd;                              /*   54 : Class File Load Hook */    jvmtiEventClassFileLoadHook ClassFileLoadHook;                              /*   55 : Class Load */    jvmtiEventClassLoad ClassLoad;                              /*   56 : Class Prepare */    jvmtiEventClassPrepare ClassPrepare;                              /*   57 : VM Start Event */    jvmtiEventVMStart VMStart;                              /*   58 : Exception */    jvmtiEventException Exception;                              /*   59 : Exception Catch */    jvmtiEventExceptionCatch ExceptionCatch;                              /*   60 : Single Step */    jvmtiEventSingleStep SingleStep;                              /*   61 : Frame Pop */    jvmtiEventFramePop FramePop;                              /*   62 : Breakpoint */    jvmtiEventBreakpoint Breakpoint;                              /*   63 : Field Access */    jvmtiEventFieldAccess FieldAccess;                              /*   64 : Field Modification */    jvmtiEventFieldModification FieldModification;                              /*   65 : Method Entry */    jvmtiEventMethodEntry MethodEntry;                              /*   66 : Method Exit */    jvmtiEventMethodExit MethodExit;                              /*   67 : Native Method Bind */    jvmtiEventNativeMethodBind NativeMethodBind;                              /*   68 : Compiled Method Load */    jvmtiEventCompiledMethodLoad CompiledMethodLoad;                              /*   69 : Compiled Method Unload */    jvmtiEventCompiledMethodUnload CompiledMethodUnload;                              /*   70 : Dynamic Code Generated */    jvmtiEventDynamicCodeGenerated DynamicCodeGenerated;                              /*   71 : Data Dump Request */    jvmtiEventDataDumpRequest DataDumpRequest;                              /*   72 */    jvmtiEventReserved reserved72;                              /*   73 : Monitor Wait */    jvmtiEventMonitorWait MonitorWait;                              /*   74 : Monitor Waited */    jvmtiEventMonitorWaited MonitorWaited;                              /*   75 : Monitor Contended Enter */    jvmtiEventMonitorContendedEnter MonitorContendedEnter;                              /*   76 : Monitor Contended Entered */    jvmtiEventMonitorContendedEntered MonitorContendedEntered;                              /*   77 */    jvmtiEventReserved reserved77;                              /*   78 */    jvmtiEventReserved reserved78;                              /*   79 */    jvmtiEventReserved reserved79;                              /*   80 */    jvmtiEventReserved reserved80;                              /*   81 : Garbage Collection Start */    jvmtiEventGarbageCollectionStart GarbageCollectionStart;                              /*   82 : Garbage Collection Finish */    jvmtiEventGarbageCollectionFinish GarbageCollectionFinish;                              /*   83 : Object Free */    jvmtiEventObjectFree ObjectFree;                              /*   84 : VM Object Allocation */    jvmtiEventVMObjectAlloc VMObjectAlloc;} jvmtiEventCallbacks;    /* Function Interface */    typedef struct jvmtiInterface_1_ {  /*   1 :  RESERVED */  void *reserved1;  /*   2 : Set Event Notification Mode */  jvmtiError (JNICALL *SetEventNotificationMode) (jvmtiEnv* env,     jvmtiEventMode mode,     jvmtiEvent event_type,     jthread event_thread,      ...);  /*   3 :  RESERVED */  void *reserved3;  /*   4 : Get All Threads */  jvmtiError (JNICALL *GetAllThreads) (jvmtiEnv* env,     jint* threads_count_ptr,     jthread** threads_ptr);  /*   5 : Suspend Thread */  jvmtiError (JNICALL *SuspendThread) (jvmtiEnv* env,     jthread thread);  /*   6 : Resume Thread */  jvmtiError (JNICALL *ResumeThread) (jvmtiEnv* env,     jthread thread);  /*   7 : Stop Thread */  jvmtiError (JNICALL *StopThread) (jvmtiEnv* env,     jthread thread,     jobject exception);  /*   8 : Interrupt Thread */  jvmtiError (JNICALL *InterruptThread) (jvmtiEnv* env,     jthread thread);  /*   9 : Get Thread Info */  jvmtiError (JNICALL *GetThreadInfo) (jvmtiEnv* env,     jthread thread,     jvmtiThreadInfo* info_ptr);  /*   10 : Get Owned Monitor Info */  jvmtiError (JNICALL *GetOwnedMonitorInfo) (jvmtiEnv* env,     jthread thread,     jint* owned_monitor_count_ptr,     jobject** owned_monitors_ptr);  /*   11 : Get Current Contended Monitor */  jvmtiError (JNICALL *GetCurrentContendedMonitor) (jvmtiEnv* env,     jthread thread,     jobject* monitor_ptr);  /*   12 : Run Agent Thread */  jvmtiError (JNICALL *RunAgentThread) (jvmtiEnv* env,     jthread thread,     jvmtiStartFunction proc,     const void* arg,     jint priority);  /*   13 : Get Top Thread Groups */  jvmtiError (JNICALL *GetTopThreadGroups) (jvmtiEnv* env,     jint* group_count_ptr,     jthreadGroup** groups_ptr);  /*   14 : Get Thread Group Info */  jvmtiError (JNICALL *GetThreadGroupInfo) (jvmtiEnv* env,     jthreadGroup group,     jvmtiThreadGroupInfo* info_ptr);  /*   15 : Get Thread Group Children */  jvmtiError (JNICALL *GetThreadGroupChildren) (jvmtiEnv* env,     jthreadGroup group,     jint* thread_count_ptr,     jthread** threads_ptr,     jint* group_count_ptr,     jthreadGroup** groups_ptr);  /*   16 : Get Frame Count */  jvmtiError (JNICALL *GetFrameCount) (jvmtiEnv* env,     jthread thread,     jint* count_ptr);  /*   17 : Get Thread State */  jvmtiError (JNICALL *GetThreadState) (jvmtiEnv* env, 

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -