如何分析一个 .mdmp 文件?

14

我有一个Java应用程序,在生产环境中崩溃,但在开发/质量保证(QA)环境中没有出现过这种情况。JVM正在创建一个.mdmp文件和一个文本文件。如何分析二进制转储文件?我在谷歌上搜索了一下,但没有成功。我们使用的是BEA JRockit JVM 1.5 R27。

2个回答

7
.mdmp 文件是一个 Windows MiniDump 文件,只能使用调试器(如 WinDbg)来读取。通常情况下,您需要崩溃应用程序的源代码才能从转储中获取一些信息。因此,在您的情况下,除了联系 JRockit 支持外,您无法做太多事情。
这里是一个链接,指向 Orace JRockit 有关 JVM 崩溃的信息

我找到了一个分析Java核心转储的工具:https://dev59.com/iHNA5IYBdhLWcg3wdtpd。这是否意味着我们仍然可以自己打开mdmp文件? - Greenhand

2

.mdmp文件是Windows系统下类似于unix/linux核心转储的文件。你可以使用WinDBG分析它们,但如果它是一个崩溃了的Java进程,你最好使用Java自己的工具来分析崩溃的进程。

如果您想查看崩溃的Java进程的堆,则可以使用随JDK一起提供的名为jmap的工具从.core或.mdmp中提取HPROF文件,然后将其加载到内存分析器中。还要注意,一些内存分析器可以直接加载核心转储和Windows minidumps。

相关问题jmap文档

如果您想查看线程的状态,则可以使用一个名为jstack的工具,在创建转储的点上打印每个线程的堆栈跟踪。 jstack文档.


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接