现象

debug启动后,过段时间就非正常退出;添加jvm参数-XX:+CreateMinidumpOnCrash后,保存堆转存日志;
之前debug启动,但从未出现此问题;不知为何,突然就出现这个问题了;

错误信息

A fatal error has been detected by the Java Runtime Environment:
EXCEPTION_ACCESS_VIOLATION (0xc0000005) at pc=0x0000000050a21f47, pid=7640, tid=5632
JRE version: Java(TM) SE Runtime Environment (7.0_45-b18) (build 1.7.0_45-b18)
Java VM: Java HotSpot(TM) 64-Bit Server VM (24.45-b08 mixed mode windows-amd64 compressed oops)
Problematic frame:
V [jvm.dll+0x51f47]
Core dump written. Default location: D:\eclipse\hs_err_pid7640.mdmp
If you would like to submit a bug report, please visit:
http://bugreport.sun.com/bugreport/crash.jsp
————— T H R E A D —————
Current thread (0x000000000a428800): JavaThread “JDWP Transport Listener: dt_socket” daemon [_thread_in_vm, id=5632, stack(0x000000000b440000,0x000000000b840000)]
siginfo: ExceptionCode=0xc0000005, reading address 0x0000000000000010

注意到Current thread信息,current thread就是出问题的thread,百度发现JDWP Transport Listener 是debug的程序。
实验发现,debug启动后,过段时间就会非正常退出;正常启动,不会存在这个问题。

解决办法

临时只能非debug启动了。