java.lang.InternalError:无效代码索引的位置......什么?

时间:2009-06-29 19:31:11

标签: java exception java-me

我正在创建一个j2me应用程序,当我尝试在netbeans中调试它时,当我到达代码中的某个点时出现错误。

代码如下

class MyClass{
    public MyClass()
    {
        OtherClass oc = new OtherClass();
        oc.MyMethod();
    }
}

另一种方法如下:

public void MyMethod()
{
    boolean isValue = true; // I get an exception right here...
    if(...) { /*Code not reached*/ } ...
}

我得到的例外情况如下:

java.lang.InternalError: Location with invalid code index
    at com.sun.tools.jdi.ConcreteMethodImpl.codeIndexToLineInfo(ConcreteMethodImpl.java:167)
    at com.sun.tools.jdi.LocationImpl.getBaseLineInfo(LocationImpl.java:108)
    at com.sun.tools.jdi.LocationImpl.getLineInfo(LocationImpl.java:122)
    at com.sun.tools.jdi.LocationImpl.sourcePath(LocationImpl.java:187)
    at com.sun.tools.jdi.LocationImpl.sourcePath(LocationImpl.java:182)
    at org.netbeans.modules.debugger.jpda.models.CallStackFrameImpl.getSourcePath(CallStackFrameImpl.java:238)
    at org.netbeans.modules.debugger.jpda.ui.EditorContextBridge.getRelativePath(EditorContextBridge.java:355)
    at org.netbeans.modules.debugger.jpda.ui.CurrentThreadAnnotationListener$AnnotateCallStackTask.run(CurrentThreadAnnotationListener.java:344)
    at org.openide.util.RequestProcessor$Task.run(RequestProcessor.java:572)
    at org.openide.util.RequestProcessor$Processor.run(RequestProcessor.java:997)

1 个答案:

答案 0 :(得分:1)

您的模拟器使用的JRE是否与您构建代码的JDK版本匹配?由于这是内部错误,因此发生了不匹配,数据损坏(例如,JPDA注入)或JRE中的实际错误。

从错误的外观来看,失败的是尝试找到与异常匹配的代码行。如果你关闭JPDA调试,或者在netbeans之外运行它,你会得到错误吗?