我想在com.sun.script.javascript包中调试RhinoScriptEngine。 看到我附加openJDK openjdk-6-src-b25-01_may_2012的源代码。 但是,当我试图进入任何方法,例如它不起作用的RhinoScriptEngine或ScriptEngineManager ...... eclipse打开相应的类,但调试器没有单步执行源代码
如何解决这个问题并调试RhinoScriptEngine和Rhino本身?
答案 0 :(得分:0)
即使在jdks中,rt.jar文件也可能在没有启用调试的情况下编译。
您是否检查过RhinoScriptEngine类是否有LineNumberTable
和LocalVariableTable
?
在我的情况下,jdk和jre至少使用LineNumberTable
进行编译。
所以我可以单步执行jdk类,可以查看字段和参数的值,但不能看到局部变量的值。
您可以使用javap反汇编类并查看实际提供的信息,例如
javap -v -cp rt.jar com.sun.script.javascript.RhinoScriptEngine
但我实际上并没有尝试调试RhinoScriptEngine类,因为我的jdk没有RhinoScriptEngine文件的源附件,而我发现的openjdk根本没有它。我认为它属于java的专有部分。