Java 符号的指令地址
Instruction address to symbol for Java
假设我有一个 Java 程序的特定指令地址(无论出于何种原因),我想知道它属于哪个函数。
例如,如果这是来自 C++ 程序,我可以使用 binutils(addr2line 等)来获取它。
这对于 Java 程序是否可行,因为没有 ELF 文件,因为字节码是 JIT 编译的?
你听说过 javap 吗??
使用 javap -c MyClass.class
你可以查看字节码指令。
检查https://docs.oracle.com/javase/7/docs/technotes/tools/windows/javap.html是否有帮助
perf-map-agent 解决了这个问题:
perf-map-agent is an agent that will generate such a mapping file for
Java applications. It consists of a Java agent written C and a small
Java bootstrap application which attaches the agent to a running Java
process.
假设我有一个 Java 程序的特定指令地址(无论出于何种原因),我想知道它属于哪个函数。
例如,如果这是来自 C++ 程序,我可以使用 binutils(addr2line 等)来获取它。
这对于 Java 程序是否可行,因为没有 ELF 文件,因为字节码是 JIT 编译的?
你听说过 javap 吗??
使用 javap -c MyClass.class
你可以查看字节码指令。
检查https://docs.oracle.com/javase/7/docs/technotes/tools/windows/javap.html是否有帮助
perf-map-agent 解决了这个问题:
perf-map-agent is an agent that will generate such a mapping file for Java applications. It consists of a Java agent written C and a small Java bootstrap application which attaches the agent to a running Java process.