java EXCEPTION_ACCESS_VIOLATION 错误的一个解决办法

#
# 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, 装驱动精灵更新下,好了。

 

你可能感兴趣的:(java)