2010-04-06 62 views
2

我在AIX机器上运行Core JAVA应用程序,并创建一个名为“core”的文件。 我的问题是 1.我无法在“堆分析器”或“线程分析器”中打开此“核心”文件。 2.我需要使用哪些工具,以便我可以分析这个“核心”文件。 3.是否有人能详细说明这个文件?为什么这个“核心”文件创建。获取核心文件

等待回应..... 非常感谢

回答

4

一个core file代表的JVM的内存记录状态时坠毁(即不是可以在一个分析工具来分析Java级别信息) 。这种类型的文件表明JVM中存在一个错误,或者是通过JNI在Java应用程序中调用的本机库的问题。你可以运行

一个命令是:

strings core | grep JAVA_HOME 

...这至少会告诉你JVM的哪个版本正在运行(和核心转储从而有可能负责)。

您也可以尝试在不同的操作系统上或同一平台上运行您的应用程序,但使用不同版本的JVM来验证这是否是导致崩溃的原因。

您可能还想看看this question,其中chillitom描述了一种将核心文件转换为HPROF文件以便使用Java内存分析器应用程序分析它们的技术。这需要使用jmap命令行工具;例如

# jmap -dump:format=b,file=dump.hprof /usr/bin/java core.1234 
+0

感谢亚当斯基为您的回应..... – user306689 2010-04-06 12:34:09