【发布时间】:2016-10-29 21:08:54
【问题描述】:
我对在 Java 中调查堆栈帧内容的内容(局部变量 + 参数内容)感兴趣。我知道调试器接口能够做到这一点,但需要暂停正在检查的线程,我希望有一种更优雅的方式。
有没有人知道其他不需要暂停线程但需要 VM 提供的快照的方法?我知道字节码操作也是可能的。
【问题讨论】:
我对在 Java 中调查堆栈帧内容的内容(局部变量 + 参数内容)感兴趣。我知道调试器接口能够做到这一点,但需要暂停正在检查的线程,我希望有一种更优雅的方式。
有没有人知道其他不需要暂停线程但需要 VM 提供的快照的方法?我知道字节码操作也是可能的。
【问题讨论】:
The Serviceability Agent(SA) 与 JVMTI 一起提供所有必要的信息。有了这个可以访问 SUN-JVM 的所有数据结构,执行一些魔术,包括检查堆栈帧、跟踪引用、本地检查(和操作)对象等等。
【讨论】: