JVM字节码行号

时间:2015-11-17 11:04:01

标签: java jvm bytecode memory-address

我们正在尝试仅使用字节码来分析Java代码。

有没有办法让JVM吐出正在执行的字节码的地址,或者拦截在运行时发给JVM的字节码的地址?

根据崩溃堆栈,似乎JVM应该拥有所有这些信息。

1 个答案:

答案 0 :(得分:1)

有可用的开源代码覆盖工具,以及这些工具用于检测代码的工具以跟踪已执行的行。

JVM在运行时执行本机机器代码,而不是字节代码。您需要使用代码注入来向字节代码指令之间的所需内容添加指令,但这会降低执行速度。如果您只是需要查看是否执行了一行,您可以为每一行设置一个标志,该标志应该更快。