Como recebo uma mensagem de erro ao falhar ao carregar uma JVM via JNI?
Gostaria de recuperar uma mensagem de erro que explica por que a jvm falhou ao carregar. Dos exemplos fornecidos aqui:
http: //java.sun.com/docs/books/jni/html/invoke.htm
Extraí este exemplo:
/* Create the Java VM */
res = JNI_CreateJavaVM(&jvm, (void**)&env, &vm_args);
if (res < 0) {
// retrieve verbose error here?
fprintf(stderr, "Can't create Java VM\n");
exit(1);
}
No meu caso específico, estou fornecendo argumentos inválidos no vm_args e esperaria ver o que recebo na linha de comando: "Opção não reconhecida: -foo = bar"
Em testes adicionais, parece que a jvm está colocando a mensagem que eu quero stdout ou stderr. Eu acredito que precisaria capturar stdout e stderr para obter o erro que estou procurando (a menos, claro, que exista uma maneira mais simples). Estou codificando em C ++, por isso, se alguém puder mostrar uma maneira de capturar o erro em um string que seria o idea
brigado, Randy