【问题标题】:Analysis jvm core file?分析jvm核心文件?
【发布时间】:2016-04-18 06:59:40
【问题描述】:

我有一个在unix服务器上运行的web服务,经过一些代码更新后,服务在启动时会生成一个核心文件core.94489,有人知道如何分析这个核心文件来调试问题吗?谢谢。

PS:我用的是oracle jvm7

【问题讨论】:

  • 您是否注意到您也有 hs_err* 文件?
  • @SMA 没有。只是核心文件。

标签: java jvm coredump


【解决方案1】:

就像@SMA 建议的那样,hs_err{pid} 文件将包含您需要(或可以使用)的大部分内容

IMGO 除非您有 JVM 的调试版本,否则核心转储没有用,例如您为调试构建了 OpenJDK。

【讨论】:

  • @cheng 在这种情况下,我会检查核心转储是否真的是 JVM 核心转储,因为默认情况下这些转储是禁用的。这听起来像是一个失败的 C/C++ 程序,例如它应该是您用来启动 Web 服务的程序。你能用gdb打开它,看看它运行的是哪个命令。
  • 我在debug模式下启动了服务,刚刚我更新debug端口,问题就解决了……总之,谢谢你的帮助……
  • @cheng 我怀疑某个进程已经在使用该端口。我会检查没有旧版本的服务仍在运行。您可以在 Unix 上使用 netstat -a -n 来查看是否有任何进程正在使用该端口。
  • 原来是我之前启动的一个进程没有关闭...但是jvm(核心文件)给出的错误真是牛逼...
  • @cheng 同意,核心转储甚至不是错误,它一定是一个错误。它不应该核心转储,因为它无法获得端口。
猜你喜欢
  • 1970-01-01
  • 2011-07-04
  • 1970-01-01
  • 2021-10-25
  • 1970-01-01
  • 2021-06-25
  • 1970-01-01
  • 1970-01-01
  • 2011-05-19
相关资源
最近更新 更多