需要采取堆转储后JVM EXCEPTION_ACCESS_VIOLATION

问题描述:

我发现了堆转储可以用java命令参数采取:-XX:+ HeapDumpOnOutOfMemoryError上的OutOfMemoryError写堆转储和-XX:+ HeapDumpOnCtrlBreak写堆与CTRL线程转储一起倾倒+打破。需要采取堆转储后JVM EXCEPTION_ACCESS_VIOLATION

现在我需要堆转储当我收到以下错误:

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 。

你能指导我吗?提前致谢!

+0

你为什么要堆转储后JNI模块只提领坏指针? – bmargulies

+0

我实际上在程序中注入了这个不好的代码。崩溃后,我想分析程序变量保存的值。我需要这个特殊原因。 – kajarigd

您可以提取从从撞击产生的核心文件的HPROF堆转储:

jmap -dump:format=b,file=heap.hprof ${path_to_java_exe} ${path_to_core}