В настоящее время я работаю с JVMTI в первый раз.Java/JVMTI: использование JavaVM-параметра в Agent_OnLoad (JavaVM, char *, void)
В основном я использую JVM(TM) Tool Interface Documentation, если возникнут какие-либо вопросы.
Но что я не могу найти: Что может использовать параметр JavaVM для , за исключением получения окружения, вызвав GetEnv (...) на нем? Это единственная цель?
Я не смог найти никакой дополнительной документации ни по самому классу JavaVM, ни по этому параметру в частности. Вероятно, я был просто слепым, и кто-то может указать мне в правильном направлении (объяснения, документация, учебники и т. Д.).
Вот некоторые типичный пример кода на параметре Useage я видел до сих пор:
JNIEXPORT jint JNICALL Agent_OnLoad(JavaVM *vm, char *options, void *reserved) {
jvmtiEnv *jvmti;
jvmtiError error;
jint res;
jvmtiCapabilities capabilities;
jvmtiEventCallbacks callbacks;
res = (*vm)->GetEnv(vm, (void **)&jvmti, JVMTI_VERSION_1);
// Here the code goes on
}