我有一个在生产中崩溃的 java 应用程序。它在 dev/QA 中没有这样做。jvm 正在创建一个 .mdmp 文件和一个文本文件。如何分析二进制转储文件?我用谷歌搜索但没有运气。我们正在使用 bea jrockit jvm 1.5 R27。
问问题
46462 次
2 回答
7
该.mdmp
文件是一个 Windows MiniDump 文件,您只能使用调试器(如 WinDbg)读取该文件。通常,您需要崩溃应用程序的来源才能真正从转储中获取一些信息。因此,在您的情况下,除了联系 JRockit 支持之外,您无能为力。
这里是有关 JVM 崩溃的 Orace JRockit 信息的链接。
于 2010-08-09T18:30:23.890 回答
0
.mdmp
文件是 Windows 等效的 unix/linux 核心转储。您可以使用 WinDBG 分析它们,但如果它是一个很可能崩溃的 Java 进程,您将希望使用 Java 自己的工具来分析崩溃的进程。
如果您想查看崩溃的 Java 进程的堆,您可以使用 JDK 附带的工具jmap
从 .core 或 .mdmp 中提取 HPROF 文件,然后将其加载到内存分析器中。另请注意,某些内存分析器可以直接加载核心转储和 Windows 小型转储。
如果您想查看线程的状态,那么您可以使用一个名为jstack
在创建转储时为每个线程打印堆栈跟踪的工具。jstack 文档。
于 2018-09-14T08:51:29.930 回答