0

私は現在、デバッグの可能性を高める Eclipse プラグインに取り組んでいます。com.sun.jdi.ObjectReference#invokeMethodデバッグ セッション中に、次のようにしてScala メソッドを呼び出します。

public int callMethod_Reactive_Level(final ObjectReference o) throws InvalidTypeException, ClassNotLoadedException, IncompatibleThreadStateException, InvocationException {
    final Method m = apiValues.getMethod_Reactive_level(o); // com.sun.jdi.Method
    final IntegerValue intVal = (IntegerValue) o.invokeMethod(thread, m, new LinkedList<Value>(), ObjectReference.INVOKE_SINGLE_THREADED);
    return intVal.intValue();
}

それを行った後、 への呼び出しorg.eclipse.debug.core.model.IVariable#getValueInvalidStackFrameException. エラーメッセージ全体は次のとおりです。

Status ERROR: org.scala-ide.sdt.debug code=5010 Exception while retrieving variable's value com.sun.jdi.InvalidStackFrameException

Exception while retrieving variable's value上記のようにメソッドを呼び出した後、変数ビューで変数を調べると、メッセージが表示されます。

この問題をどのように解決できるか考えていますか? JDIは明示的にそれを行う可能性を提供しているので、なぜこれがそれほど問題になるのかわかりません。

更新: Scala IDE のバグである可能性があるため、 Scala IDE dev groupで問題を再現する方法についてのディスカッションとチュートリアルがあります。

4

1 に答える 1