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

我有一个Java应用程序,它使用一些本机代码,这是错误的。 我想找出故障的位置,但我不确定如何读取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是指类中的字节码偏移吗? 我怎样才能追溯到这里的源线?

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

有关一般指南,请查看这两个链接致命错误日志故障排除和JVM崩溃分析崩溃课程

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

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