运行应用程序时抛出JVM外部的错误

时间:2013-03-19 07:28:15

标签: java jvm-crash worldwind

我正在基于Eclipse中的World Wind Java SDK开发我的应用程序。就像两个星期前一样,每次我试图运行应用程序时,我都会开始抛出这样的错误:

  

Java Runtime Environment检测到致命错误:

     

EXCEPTION_ACCESS_VIOLATION(0xc0000005)在pc = 0x1a97d42a,pid = 4136,   TID = 4888       JRE版本:6.0_31-b05 Java VM:Java HotSpot(TM)客户端VM(20.6-b01混合模式windows-x86)有问题的框架:C   [ig4icd32.dll + 0x3d42a]

     

包含更多信息的错误报告文件保存为:
  C:\论文\ 100GreatP \ eclipse_ws \测试\ hs_err_pid4136.log

     

如果您想提交错误报告,请访问:
  [url] http://java.sun.com/webapps/bugreport/crash.jsp [/ url]崩溃   在本机代码中发生在Java虚拟机之外。看到   报告错误的问题框架。

有趣的是,只有当我在应用程序启动时尝试显示新创建的图层时才会发生这种情况:

wwd.getModel().getLayers().add(GreatPlacesIcons);
wwd.addSelectListener(GreatPlacesIcons);
layers = new LayerViewDockable(wwd,"layers");

一旦我对上面的代码行发表评论,应用就会正确启动。有没有人知道这里发生了什么?

1 个答案:

答案 0 :(得分:0)

所以我终于解决了我的问题。问题出在代码和Eclipse之外,问题在于定义一个JVM环境变量CLASSPATH。我已经从日志文件中找到了它,这是它的提取:

  

VM参数:jvm_args:-Dfile.encoding = Cp1252 java_command:   org.cnstar.wiki.app.GreatPlaces启动器类型:SUN_STANDARD

     

环境变量:JAVA_HOME = C:\ Program Files \ Java \ jre6   CLASSPATH =。; C:\ Program Files \ Java \ jre7 \ lib;     PATH = C:/程序   Files / Java / jre6 / bin / client; C:/ Program Files / Java / jre6 / bin; C:/ Program   文件/爪哇/ JRE6 / LIB / I386;

变量classpath指向jre7,但是,因为我几天前没有使用Java 7,所以它不再那样了。当我运行我的应用程序时,它会自动失败。所以我去了(Windows XP)开始 - >控制面板 - >系统 - >高级 - >环境变量并更改了变量CLASSPATH,使其指向jre6。