1

我想在 com.sun.script.javascript 包中调试 RhinoScriptEngine。要查看源代码,我附上了 openJDK openjdk-6-src-b25-01_may_2012。但是当我尝试进入任何方法时,例如 RhinoScriptEngine 或 ScriptEngineManager 它不起作用... eclipse 打开相应的类,但调试器不会单步执行源代码

如何解决这个问题并调试 RhinoScriptEngine 和 Rhino 本身?

4

1 回答 1

0

即使在 jdks 中,rt.jar 文件也可能在未启用调试的情况下编译。你检查过 RhinoScriptEngine 类是否有 aLineNumberTable和 aLocalVariableTable吗?

在我的情况下,jdk 和 jre 至少是用LineNumberTable. 所以我可以单步调试 jdk 类,可以看到字段和参数的值,但看不到局部变量的值。

您可以使用 javap 来反汇编一个类并查看实际提供了哪些信息,例如

javap -v -cp rt.jar com.sun.script.javascript.RhinoScriptEngine

但我实际上并没有尝试调试 RhinoScriptEngine 类,因为我的 jdk 没有 RhinoScriptEngine 文件的源附件,而我发现的 openjdk 根本没有它。我认为它属于 java 的专有部分。

于 2012-07-10T16:46:34.703 回答