【发布时间】:2009-04-28 16:50:08
【问题描述】:
我想检索解释 jvm 加载失败的原因的错误消息。从此处提供的示例中:
http://java.sun.com/docs/books/jni/html/invoke.html
我提取了这个例子:
/* 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);
}
在我的具体情况下,我在 vm_args 中提供了无效参数,并希望看到我在命令行上得到的结果:“无法识别的选项:-foo=bar”
在进一步测试中,jvm 似乎将我想要的消息放入 stdout 或 stderr。我相信我需要捕获 stdout 和 stderr 才能得到我正在寻找的错误(当然,除非有更简单的方法)。我正在用 C++ 编码,所以如果有人可以展示一种将错误捕获到字符串流中的方法,那将是理想的。
谢谢, 兰迪
【问题讨论】:
标签: java c++ jvm java-native-interface jvm-arguments