获取核心文件
我正在 AIX 计算机上运行 Core JAVA 应用程序,它创建一个名为“core”的文件。 我关心的是 1. 我无法在“堆分析器”或“线程分析器”中打开此“核心”文件。 2.我需要使用哪些工具,以便我可以分析这个“核心”文件。 3. 有人能详细说明一下这个文件吗?为什么创建这个“核心”文件。
等待回复...... 非常感谢
I am running a Core JAVA application on AIX machine, and it creates a file named "core".
My concern are
1. I am not able to open this "core" file in "Heap Analyzer" or "Thread Analyzer".
2. Which tools do I need to use, So that I can analyze this "core" file.
3. Could any one elaborate more about this file? why this "core" file creates.
Waiting for response.....
Many Thanks
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
核心文件代表JVM崩溃时记录的内存状态(即不是可以在分析工具中分析的 Java 级别信息)。这种类型的文件表明 JVM 中存在错误,或者您通过 JNI 从 Java 应用程序中调用的本机库存在问题。
您可以运行的一个命令是:
... 这至少会告诉您正在运行哪个版本的 JVM(因此可能负责核心转储)。
您还可以尝试在不同的操作系统或同一平台上但使用不同版本的 JVM 运行应用程序,以验证这是否是崩溃的原因。
您可能还想查看这个问题,其中 chilitom 描述了一种技术将核心文件转换为 HPROF 文件,以便使用 Java 内存分析器应用程序对其进行分析。这需要使用
jmap
命令行工具;例如A core file represents the recorded state of memory of the JVM when it crashed (i.e. not Java level information that can be analysed in a profiling tool). This type of file is indicative of either a bug in the JVM or a problem with a native library that you're calling from within your Java application through JNI.
One command you could run is:
... which will at least tell you which version of the JVM was running (and hence possibly responsible for the core dump).
You could also try running your application on a different OS or on the same platform but with a different version of the JVM to verify whether that is the cause of the crash.
You might also want to check out this question, where chillitom describes a technique for converting core files to HPROF files in order to analyse them with a Java memory analyser app. This requires using the
jmap
command line tool; e.g.