我该如何解释这个JVM错误?

时间:2009-02-26 21:28:04

标签: java debugging java-native-interface core hs-err

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

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

基本上,指向的'j'帧是什么?是V+158是指 类中的字节码偏移量?我怎样才能追溯到源头 在线?

实际上,我喜欢这种垃圾桶的一般指南。那太棒了。

2 个答案:

答案 0 :(得分:12)

有关一般指南,请查看这两个链接Fatal Error Log TroubleshootingCrash Course on JVM Crash Analysis

答案 1 :(得分:1)

我也很困惑,“V + 158”是什么意思? 但是解释很简单,“V”是方法返回类型,是方法描述的一部分。 (描述包括包名,类名,方法名,方法采用的参数类型和返回类型)“V”代表“void”。

+158被称为“字节码索引” - 你是对的。

相关问题