JVM报错“Failed to write core dump“是什么问题,如何解决

2024-12-20 10:23:39
推荐回答(1个)
回答1:

Minidump是Windows上的程序crash的时候可以写出的一种小型crash dump,会记录导致crash的错误的摘要信息,以便开发者可以事后调查crash的原因。

接下来您需要这个传送门:How to enable minidumps in Java for Windows
"Minidumps are not enabled by default on client versions of Windows"这句话是HotSpot VM打印出来的,来源在:

void os::check_or_create_dump(void* exceptionRecord, void* contextRecord, char* buffer, size_t bufferSize)

HotSpot VM在非server版的(也就是client版的)Windows上选择默认不写出minidump。没啥特别的原因,就是免得用户在不想要crash dump的时候看到crash后有文件写出来心烦。
要让HotSpot VM在client版Windows上写出minidump,请指定 -XX:+CreateMinidumpOnCrash,这样HotSpot VM在crash时就会调用Windows的MiniDumpWriteDump()函数写出minidump。