【发布时间】:2011-09-27 12:02:22
【问题描述】:
我已经从事 Java 项目一年了。我的代码几个月来一直运行良好。几天前,我在我的 Mac (Snow Leopard 10.6.8) 上将 Java SDK 升级到了最新版本 1.6.0_26。升级后,发生了一些非常奇怪的事情。当我运行一些类时,我得到了这个错误:
位置 0x202 rip=0x202 的内存访问无效
但是,如果我使用 -Xint(解释)运行它们,它们会工作,速度慢但工作正常。我在使用按位运算符(奥赛罗游戏的位板)的课程中遇到了这个问题。我不能在这里放任何代码,因为我没有收到错误、异常或类似的东西。我只是收到那个烦人的消息。
如果没有 -Xint 代码无法运行,但它可以正常工作,这是否正常?我该怎么办?
提前致谢
【问题讨论】:
-
很奇怪。这是否显示为例外?编译错误?还有什么?错误消息中是否还有更多文本?它是否表示行号?程序是继续运行,还是崩溃了?每次在没有 -Xint 的情况下运行代码时都会发生这种情况吗?你在为你的 GUI 使用 Swing 吗?有没有潜在的并发问题?
-
不显示为异常,只是一条消息。它编译得很好。那是唯一的消息,有时它显示不同的内存地址,但只是相同的消息。程序停止运行。我没有使用 Swing,但我使用的是线程。这可能是一个并发问题,但为什么它在解释运行时不起作用?这是令人讨厌的部分。
-
看起来像 VM 中的错误。尝试通过减少程序来隔离问题(删除您认为不必要的内容 - 如果它不会再次发生,请撤消并尝试其他部分。如果仍然存在,请重复)。然后向生成您的 JRE 的人提交错误。
-
确保您正在编译最新版本。