Java JVM异常\u访问\u冲突后需要进行堆转储
我发现可以使用java命令参数进行堆转储:-XX:+heapdumponutofmemoryerror在OutOfMemoryError上写入堆转储,-XX:+HeapDumpOnCtrlBreak在CTRL+BREAK上与线程转储一起写入堆转储 现在,当我遇到以下错误时,我需要堆转储:Java JVM异常\u访问\u冲突后需要进行堆转储,java,memory,heap-dump,oql,Java,Memory,Heap Dump,Oql,我发现可以使用java命令参数进行堆转储:-XX:+heapdumponutofmemoryerror在OutOfMemoryError上写入堆转储,-XX:+HeapDumpOnCtrlBreak在CTRL+BREAK上与线程转储一起写入堆转储 现在,当我遇到以下错误时,我需要堆转储: A fatal error has been detected by the Java Runtime Environment: EXCEPTION_ACCESS_VIOLATION (0xc0000005)
A fatal error has been detected by the Java Runtime Environment:
EXCEPTION_ACCESS_VIOLATION (0xc0000005) at pc=0x5fb62488, pid=6332, tid=6336
我正在获取hs_err_pid6332.log,但我需要HPROF格式的堆转储,以便可以对内容运行OQL
你能带我到这里吗?提前谢谢 您可以从崩溃产生的核心文件中提取HPROF heapdump:
jmap -dump:format=b,file=heap.hprof ${path_to_java_exe} ${path_to_core}
为什么要在JNI模块刚刚解引用了一个错误指针之后进行堆转储呢?实际上,我已经在我的程序中注入了这个错误代码。在它崩溃后,我想分析程序变量的值。我需要这个是因为一个特殊的原因。