私は年間Javaプロジェクトを行っています。私のコードは何ヶ月もうまくいきました。数日前、私はMac(Snow Leopard 10.6.8)上でJava SDKを最新のバージョン1.6.0_26にアップグレードしました。アップグレード後、非常に奇妙なことが起こります。私はクラスのいくつかを実行すると、私はこのエラーを取得する:Javaの場所のメモリアクセスが無効です
場所0x202 RIPの無効なメモリアクセス= 0x202
しかし、私は彼らが働く-Xint(解釈)、ゆっくりではあるが仕事でそれらを実行する場合良い。私はビット単位の演算子(ゲームのオセロのためのビットボード)を使用するクラスでこの問題が発生します。私はここにコードを置くことはできません。なぜなら、エラー、例外、または類似のものは得られないからです。私はちょうどその迷惑なメッセージを取得します。
-Xintなしでコードが実行されないのは正常ですが、正常に動作しますか?私は何をすべきか? JVMはそのようクラッシュを開始すると、事前
非常に奇妙な。これは例外として表示されますか?コンパイルエラー?他に何か?エラーメッセージにテキストがありますか?それは行番号を示していますか?プログラムは継続しているのですか、それとも爆発しますか? -Xintなしでコードを実行するたびに発生しますか?あなたのGUIにSwingを使用していますか?並行性の問題の可能性はありますか? –
メッセージとして例外として表示されません。それはうまくコンパイルされます。これは唯一のメッセージですが、別のメモリアドレスが表示されることもありますが、同じメッセージです。プログラムの実行が停止します。私はSwingを使用していませんが、スレッドを使用しています。同時実行性の問題になる可能性がありますが、インタプリタとして実行すると動作しないのはなぜですか?それは迷惑な部分です。 –
VMのバグのようです。プログラムを切り詰めて問題を切り分けてください(重要ではないと思われるものを取り除きます - それが再び起こらない場合は元に戻し、別の部分で試してみてください)。その後、あなたのJREを作成した人にバグを提出してください。 –