本文介绍了如何解释此JVM故障?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有一个Java应用程序,使用一些本机代码,它是错误的。我想找出其中是错误的,但我不知道如何读取hs_err_pid转储文件:

 本机帧:(J =编译的Java代码,j =解释,Vv = VM代码,C =本地代码)
V [libjvm.so + 0x256cbc]
V [libjvm.so + 0x25df69]
V [libjvm.so + 0x25dbac]
V [libjvm.so + 0x25e8c8]
V [libjvm.so + 0x25e49f]
V [libjvm.so + 0x16fa3e]
j br.com.cip.spb.single.SPBRequestApplicationController.processJob(Lcom / planet / core360 / docgen / ProcessingEnvironment; Lcom / planet / core360 / dsmv2 / processing / ApplicationDataJob;)V + 158
j com。 planet.core360.cgen.CgenProcessor.processJob(Ljava / lang / String; Lcom / planet / core360 / docgen / ProcessingEnvironment; Lcom / planet / core360 / dsmv2 / processing / ApplicationDataJob;)V + 108
j com.planet。 core360.cgen.CgenProcessor.processJob(Ljava / lang / String; Lcom / planet / core360 / docgen / ProcessingEnvironment; Lcom / planet / core360 / dsmv2 / processing / ScheduledJob;)V + 7
v〜StubRoutines :: call_stub
V [libjvm.so + 0x17af0c ]
V [libjvm.so + 0x28b9d8]
V [libjvm.so + 0x17ad3f]
V [libjvm.so + 0x1a58a3]
V [libjvm.so + 0x18bc24]
C [cgen + 0xa6d6]
C [cgen + 0xae1e] cgen_process_job + 0x336
C [cgen + 0x10442]
C [cgen + 0x7714]
C [cgen + 0x38216]
C [cgen + 0x3a29d]
C [cgen + 0x37e3c]
C [cgen + 0x7558]
C [libc.so.6 + 0x166e5] __libc_start_main + 0xe5

基本上,j框指向什么?引用
bytecode offset在类中是 V + 158 如何从这个追溯到源
线在播放?



其实,我喜欢一般的指南来挖掘这些转储。

解决方案

对于一般的指南,请看这两个链接和


I have a Java app that makes use of some native code, and it's faulting. I want to find out where it's faulting, but I'm not sure how to read the hs_err_pid dump file:

Native frames: (J=compiled Java code, j=interpreted, Vv=VM code, C=native code)
V  [libjvm.so+0x256cbc]
V  [libjvm.so+0x25df69]
V  [libjvm.so+0x25dbac]
V  [libjvm.so+0x25e8c8]
V  [libjvm.so+0x25e49f]
V  [libjvm.so+0x16fa3e]
j  br.com.cip.spb.single.SPBRequestApplicationController.processJob(Lcom/planet/core360/docgen/ProcessingEnvironment;Lcom/planet/core360/dsmv2/processing/ApplicationDataJob;)V+158
j  com.planet.core360.cgen.CgenProcessor.processJob(Ljava/lang/String;Lcom/planet/core360/docgen/ProcessingEnvironment;Lcom/planet/core360/dsmv2/processing/ApplicationDataJob;)V+108
j  com.planet.core360.cgen.CgenProcessor.processJob(Ljava/lang/String;Lcom/planet/core360/docgen/ProcessingEnvironment;Lcom/planet/core360/dsmv2/processing/ScheduledJob;)V+7
v  ~StubRoutines::call_stub
V  [libjvm.so+0x17af0c]
V  [libjvm.so+0x28b9d8]
V  [libjvm.so+0x17ad3f]
V  [libjvm.so+0x1a58a3]
V  [libjvm.so+0x18bc24]
C  [cgen+0xa6d6]
C  [cgen+0xae1e]  cgen_process_job+0x336
C  [cgen+0x10442]
C  [cgen+0x7714]
C  [cgen+0x38216]
C  [cgen+0x3a29d]
C  [cgen+0x37e3c]
C  [cgen+0x7558]
C  [libc.so.6+0x166e5]  __libc_start_main+0xe5

Basically, what are the 'j' frames pointing to? Is V+158 referring to thebytecode offset in the class? How can I trace back from this to the sourcelines in play?

Actually, I'd love a general guide to grokking these dumps. That'd be fantastic, too.

解决方案

For a general guide have a look at these two links Fatal Error Log Troubleshooting and Crash Course on JVM Crash Analysis

这篇关于如何解释此JVM故障?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

07-31 06:47