Excepción 0xC0000005 de JNI_CreateJavaVM (jvm.dll)
Estoy inicializando la máquina virtual Java utilizando el siguiente código C ++.JNI_CreateJavaVM
arroja un0xC0000005
excepción, pero tiene éxito si lo ignoro.
'Jni.exe' (Win32): cargado 'C: \ Tools \ Java \ Jdk8.77x86 \ jre \ bin \ zip.dll'. No se puede encontrar o abrir el archivo PDB.
Excepción lanzada en 0x02900282 en Jni.exe: 0xC0000005: Ubicación de lectura de infracción de acceso 0x00000000.
'Jni.exe' (Win32): cargado 'C: \ Windows \ SysWOW64 \ shell32.dll'. No se puede encontrar o abrir el archivo PDB.
¿Me estoy olvidando de configurar o hacer algo o es este comportamiento 'normal'?
#include <array>
#include "jni.h"
int main( int argc, char const* args[])
{
JavaVM* jvm;
JNIEnv* env;
std::array<JavaVMOption,1> options;
options[0].optionString = "-Djava.class.path=C:/Users/Thomas/Documents/Visual Studio 2015/Projects/Jni/x64/Debug";
options[0].extraInfo = nullptr;
JavaVMInitArgs vm_args;
vm_args.version = JNI_VERSION_1_8;
vm_args.options = options.data();
vm_args.nOptions = options.size();
vm_args.ignoreUnrecognized = false;
auto rc = JNI_CreateJavaVM( &jvm, reinterpret_cast<void**>(&env), &vm_args );
if( rc == JNI_OK )
{
jvm->DestroyJavaVM();
}
}
Esto sucede tanto para Release y Debug como para las compilaciones x86 y x64.