在Oracle 64位的Oracle Java 8中,当发生分段错误时,我会获得有用的标准输出信息日志:
# A fatal error has been detected by the Java Runtime Environment:
#
# SIGSEGV (0xb) at pc=0x00007ff98a6d3467, pid=21380, tid=140709678728960
#
# JRE version: Java(TM) SE Runtime Environment (8.0_40-b25) (build 1.8.0_40-b25)
# Java VM: Java HotSpot(TM) 64-Bit Server VM (25.40-b25 mixed mode linux-amd64 compressed oops)
# Problematic frame:
# C [photo-collection.so+0x1e467] photocollection::PhotoDataGrabber::workerRoutine()+0x87
特别有用的是本机代码位置(例如photo-collection.so+0x1e467
)。
但是,当抛出C ++异常时,我只看到C ++运行时的打印输出,而JVM没有提供任何信息。
是否有办法为C ++异常生成JVM崩溃日志信息?