使用CompiledScript进行Nashorn Javascript调试?

时间:2016-10-06 15:32:42

标签: nashorn

在希望能够在IDE中调试Java和Javascript时,似乎必须使用load(filename) Nashorn extension,例如, Debugging Nashorn JavaScript with Intellij

不幸的是,这会禁止使用CompiledScript,因为上面的内容会返回ScriptObjectMirror个对象,并且至少会记录compile(filename) Nashorn扩展名。

此处丢失的CompiledScript功能之一是CompiledScript.eval(ScriptContext context)。我无法使用ScriptObjectMirror找到实现相同目标的方法。此外,load(filename)将立即执行可能不需要的脚本。

1 个答案:

答案 0 :(得分:2)

您可以使用此方法使用IDE调试任何Nashorn / JavaScript - >

https://blogs.oracle.com/sundararajan/entry/remote_debugging_of_nashorn_scripts

  • 介绍"调试器"脚本中的陈述
  • 使用IDE在jdk.nashorn.internal.runtime.ScriptRuntime.DEBUGGER方法中插入断点
  • 开始"调试"在您的IDE中

另请参阅IntelliJ:https://stackoverflow.com/a/38513981/3189360

使用最近的NetBeans构建,不需要第二部分。 NetBeans将自动进入任何"调试器"言。

请参阅https://twitter.com/sundararajan_a/status/773375676103602178