如何分析 .mdmp 文件?
我的 java 应用程序在生产过程中崩溃了。它在开发/质量检查中不会这样做。 jvm 正在创建一个 .mdmp 文件和一个文本文件。如何分析二进制转储文件?我用谷歌搜索但没有运气。我们使用的是 bea jrockit jvm 1.5 R27。
I have java application that is crashing while in production. It doesn't do so in dev/QA. The jvm is creating a .mdmp file and a text file. How do I analyze the binary dump file? I googled but had no luck. We are using bea jrockit jvm 1.5 R27.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
.mdmp
文件是 Windows MiniDump 文件,只能使用调试器(如 WinDbg)读取。通常,您需要崩溃应用程序的源才能真正从转储中获取一些信息。因此,对于您的情况,除了联系 JRockit 支持之外您无能为力。这里是 Orace JRockit 有关 JVM 崩溃的信息。
The
.mdmp
file is a Windows MiniDump file that you can only read with a debugger (like WinDbg). Typically you need the sources of the crashed application to really get some information out of the dump. So in your case you can't do much but contacting JRockit support.Here a link to the Orace JRockit information about JVM crahes.
.mdmp
文件是 Windows 上相当于 unix/linux 核心转储的文件。您可以使用 WinDBG 来分析它们,但如果是崩溃的 Java 进程,您很可能需要使用 Java 自己的工具来分析崩溃的进程。如果您想查看崩溃的 Java 进程的堆,可以使用 JDK 附带的一个名为
jmap
的工具从 .core 或 .mdmp 中提取 HPROF 文件,然后将其加载到内存分析器。另请注意,某些内存分析器可以直接加载核心转储和 Windows 小型转储。相关问题和jmap docs
如果您想查看然后您可以使用名为 jstack 的工具来打印创建转储时每个线程的堆栈跟踪。 jstack 文档。
.mdmp
files are the Windows equivalent of unix/linux core dumps. You can analyse them with WinDBG but if it's a Java process that has crashed most likely you'll want to use Java's own tools to analyse the crashed process.If you want to look at the heap of the crashed Java process you can use a tool that ships with the JDK called
jmap
to extract a HPROF file from a .core or .mdmp and then load this into a memory analyser. Note also that some memory analyzers can load core dumps and Windows minidumps directly.Related issue and the jmap docs
If you want to see the state of the threads then you can use a tool called
jstack
to print stack traces for every thread at the point the dump was created. jstack docs.