java EXCEPTION_ACCESS_VIOLATION 错误的一个解决办法

博客围绕Java运行时出现的EXCEPTION_ACCESS_VIOLATION错误展开。指出该错误可能源于JVM自身、非Java代码等。建议若不确定可先升级JVM,若是其他DLL问题则升级对应组件。作者因图形驱动问题,用驱动精灵更新后解决。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

#
# A fatal error has been detected by the Java Runtime Environment:
#
#  EXCEPTION_ACCESS_VIOLATION (0xc0000005) at pc=0x5773f06b, pid=3288, tid=1060
#
# JRE version: 7.0-b147
# Java VM: Java HotSpot(TM) Client VM (21.0-b17 mixed mode windows-x86 )
# Problematic frame:
# C  [gdiplus.dll+0xf06b]
#
# Failed to write core dump. Minidumps are not enabled by default on client versions of Windows
#
# If you would like to submit a bug report, please visit:
#   http://bugreport.sun.com/bugreport/crash.jsp
# The crash happened outside the Java Virtual Machine in native code.
# See problematic frame for where to report the bug.
#

 

 

【此问题关键解决方法在这里:http://www.javamex.com/how_to_fix.html

 

在该文档中有下面一段话

EXCEPTION_ACCESS_VIOLATION

In rare circumstances, a Java program could stop with a message similar to the following:

# An unexpected error has been detected by HotSpot Virtual Machine:
#
# EXCEPTION_ACCESS_VIOLATION (0xc0000005) at pc=0x7c042340, pid=1743, tid=122
#
# Java VM: Java HotSpot(TM) Client VM (1.5.4_02)
# Problematic frame:
# C [ntdll.dll+0x2430]

Essentially, Java will stop with a message such as the above if a "serious" error occurs that means the JVM can't continue to function. Usually, the most discriminating line is the first mention of a DLL, such as the line in bold above. The source of the error could be any of the following:

  • a bug in the JVM itself; search Google and/or the Java web site for a mention of ntdll.dll+0x2430;
  • a bug in some non-Java code that was being run at the time: e.g. Java might have been calling into a printer driver, graphics driver etc.

If you're not sure what to do but are not using the latest version of the JVM for your system, then a good first course of action is usually to upgrade your JVM. If the bug is in some other DLL, e.g. a printer driver, database driver, graphics driver etc, then it is best to see if you can upgrade the component in question.

If the error is occurring in some native code that you have written, then you need to find out which line of code corresponds to the offset mentioned (in this case, 0x2430, although the DLL isn't one of ours in this example). Usually you can tell your compiler to generate a "map file" that gives a list of code offsets per line number. Because of compiler optimisations, line numbers may be approximate.

 

我的问题正是 graphic driver, 装驱动精灵更新下,好了。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值