当 Java VM 因 EXCEPTION_ACCESS_VIOLATION 崩溃并生成 hs_err_pidXXX.log 文件时,这表明什么?错误本身基本上是一个空指针异常。它总是由 JVM 中的错误引起的,还是有其他原因,例如硬件或软件冲突故障?
编辑:有一个原生组件,这是一个win32上的SWT应用程序。
最佳答案
大多数情况下,这是 VM 中的错误。 但它可能由任何 native 代码(例如 JNI 调用)引起。
hs_err_pidXXX.log 文件应包含有关问题发生位置的一些信息。
您还可以检查文件中的“堆”部分。许多 VM 错误是由垃圾收集引起的(尤其是在较旧的 VM 中)。本部分应向您显示崩溃时垃圾是否正在运行。此部分还显示,如果堆的某些部分被填充(百分比数字)。
虚拟机在内存不足的情况下也比其他情况更容易崩溃。
关于java - Java VM EXCEPTION_ACCESS_VIOLATION 的可能原因?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/140030/