软件开发core分析

core文件

javacore文件是怎么产生的,要怎么分析它。而且发现特别大,懵懵的。显示全部

javacore文件是怎么产生的,要怎么分析它。而且发现特别大,懵懵的。

收起
参与3

返回ianholem的回答

ianholemianholem软件开发工程师湖南中通服
JavaCore文件主要保存的是Java应用各线程在某一时刻的运行的位置,即JVM执行到哪一个类、哪一个方法、哪一个行上。它是一个文本文件,打开后可以看到每一个线程的执行栈,以stack trace的显示。通过对JavaCore文件的分析可以得到应用是否“卡”在某一点上,即在某一点运行的时间太长,例如数据库查询,长期得不到响应,最终导致系统崩溃等情况。JavaCore文件的头部有一个“Current Thread Details”标记,它记录了JavaCore产生时系统运行的线程id,使用线程id在文件中查找线程的详细信息,该信息中记载了线程运行哪个类的时候造成的JavaCore。

这样结合当时的日志文件可以找到问题产生的原因。不过,这种方法只能找到不是内存溢出的错误,对于在core文件头就有java/lang/outMemoryException的错误还是不知道是执行到哪个类的时候出现。

HeapDump文件

HeapDump文件是指定时刻的Java堆栈的快照,是一种镜像文件。Heap Analyzer工具通过分析HeapDump文件,哪些对象占用了太多的堆栈空间,来发现导致内存泄露或者可能引起内存泄露的对象。

电信运营商 · 2016-07-25
浏览676

回答者

ianholem
软件开发工程师湖南中通服
擅长领域: 应用服务器服务器WAS

ianholem 最近回答过的问题

回答状态

  • 发布时间:2016-07-25
  • 关注会员:2 人
  • 回答浏览:676
  • X社区推广