我想在com.sun.script.javascript包中调试RhinoScriptEngine。
要查看源代码,我附上了openJDK openjdk-6-src-b25-01_may_2012。
但是当我尝试进入任何一种方法时RhinoScriptEngine或ScriptEngineManager无法运作...
eclipse打开相应的类,但调试器不会单步执行源代码
如何解决此问题并调试RhinoScriptEngine和Rhino本身?
最佳答案
即使在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的专有部分。