2012-03-29 57 views
0

我有一个C++应用程序加载JVM以使用JNI。它一直在工作多年。最近,JNI初始化函数JNI_CreateJavaVM()开始失败,调用JVM中止回调函数并导致应用程序崩溃。位于Windows 7上的JVM核心转储文件在哪里?

如果确实正在写入Java核心转储文件,可能有一些关于崩溃的信息可用。因此,我想找到这些文件并研究它们。

但是,我从来没有使用过Java核心转储文件。我不知道他们在哪里或他们的名字。

我在Windows 7 64位系统上运行,连接到JRE 1.6 32位。

如果有人能告诉我可以找到Java核心转储文件的位置,我将不胜感激。

回答

1

我不知道,但我认为他们是在默认情况下转储到工作目录,你可以检查一下:

String workingDir = System.getProperty("user.dir"); 

不同的JVM的可能选项来指定一个核心转储目录。

编辑:有一个类似的问题,并很好的答案在这里:Is it possible to debug core dumps when using Java JNI?

+0

我的应用程序是使用JNI C++应用程序。 – 2012-03-29 12:59:54

+0

类似的问题与答案:http://stackoverflow.com/questions/1763368/is-it-possible-to-debug-core-dumps-when-using-java-jni – mdakin 2012-03-29 13:06:22

+0

mdakin - 谢谢。但是,我无法在$ JAVA_HOME/bin中找到任何.log文件。 – 2012-03-29 15:21:09