访问 Nashorn 生成的字节码

问题描述 投票:0回答:2

Nashorn 将 javascript 源代码直接翻译到内存中。是 有什么方法可以访问字节码只是为了阅读目的吗? (不需要进行操作)。如果有的话,请详细解释一下,因为我的经验有限...... 我知道 javap 但它只显示 Java 特定的字节码。我想看看 Nashorn 翻译的 javascript 字节码。

java javascript bytecode intercept nashorn
2个回答
2
投票

您可以使用 Nashorn 命令行选项“-pc”或“--print-code”。 Nashorn 将以类似 javap 的格式打印生成的字节码。例如:

jjs -pc hello.js

如果您想要 .class 文件(您想通过其他工具查看/分析),您可以使用“-d”或“--dump-debug-dir”来指定保存生成的类的目录。例如,

jjs -d=tmp hello.js

将在“tmp”目录下生成.class文件。请在您指定的目录下查找“jdk/nashorn/internal/script”目录。

请注意,您将无法在稍后的 nashorn 会话中离线操作和重新加载这些类。这只是一个调试工具。


0
投票
jjs -d=tmp hello.js

这不是 tmp 文件夹中的结果。

以上命令的流程,请查看

在此输入链接描述

© www.soinside.com 2019 - 2024. All rights reserved.