#include static const char* TARGET_CLASS_NAME = "Main$Nested"; void start(jvmtiEnv *jvmti_env, JNIEnv* jni_env) { jclass cls = jni_env->FindClass(TARGET_CLASS_NAME); if (cls == nullptr) { jni_env->ExceptionDescribe(); return; } } JNIEXPORT jint JNICALL Agent_OnLoad(JavaVM *vm, char *options, void *reserved) { jvmtiEnv* env; jint jni_err = vm->GetEnv((void**) &env, JVMTI_VERSION); if (jni_err != JNI_OK) { return jni_err; } jvmtiEventCallbacks callbacks; callbacks.VMStart = start; int err = env->SetEventCallbacks(&callbacks, (jint) sizeof(callbacks)); if (err != JVMTI_ERROR_NONE) { return err; } err = env->SetEventNotificationMode(JVMTI_ENABLE, JVMTI_EVENT_VM_START, nullptr); if (err != JVMTI_ERROR_NONE) { return err; } return 0; }