我想檢索一個錯誤消息,解釋爲什麼jvm加載失敗。從這裏提供的例子:無法通過JNI加載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或標準錯誤。我相信我需要捕獲stdout和stderr來獲得我正在尋找的錯誤(除非有更簡單的方法)。我使用C++進行編碼,所以如果有人能夠展示一種方法將錯誤捕獲到字符串流中,那將是理想的。
感謝, 蘭迪
到sun.java.com的鏈接不再有效,並且在代碼片段中沒有聲明函數`setError()`。任何有關在哪裏可以找到它的提示? – mgd 2013-01-09 15:24:40