0

私は Eclipse で World Wind Java SDK に基づいて自分のアプリに取り組んでいます。2 週間前と同様に、アプリを実行しようとするたびにこのようなエラーがスローされるようになりました。

Java ランタイム環境によって致命的なエラーが検出されました:

EXCEPTION_ACCESS_VIOLATION (0xc0000005) at pc=0x1a97d42a, pid=4136, tid=4888 JRE バージョン: 6.0_31-b05 Java VM: Java HotSpot(TM) Client VM (20.6-b01 混合モード windows-x86 ) 問題のあるフレーム: C [ig4icd32. dll+0x3d42a]

詳細情報を含むエラー レポート ファイルが
C:\thesis\100GreatP\eclipse_ws\test\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");

上記のコード行にコメントすると、アプリは正しく起動します。ここで何が起こっているのか知っている人はいますか?

4

1 に答える 1

0

SO最終的に私は私の問題を解決しました。問題はコードと Eclipse の外部にあり、JVM 環境変数の 1 つである 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:/Program Files/Java/jre6/bin/client;C:/Program Files/Java/jre6/bin;C:/Program Files/Java/jre6/lib/i386;

変数 classpath は jre7 を指していましたが、数日前に Java 7 をアンインストールしたため、そうではなくなりました。そして、アプリケーションを実行していると、自動的に失敗しました。そこで、(Windows XP) [スタート] -> [コントロール パネル] -> [システム] -> [詳細設定] -> [環境変数] に移動し、変数 CLASSPATH を変更して jre6 を指すようにしました。

于 2013-03-19T19:17:24.350 に答える