Java 程序的程序计数器寄存器值

2023-12-01

是否可以获取正在运行的 Java 应用程序(尤其是在 Android 模拟器中运行的应用程序)的程序计数器 (PC) 寄存器值?例如,gprof 会随机采样 PC 寄存器值,以便找出哪个函数正在消耗程序的运行时间。这样的概念对 JVM 有意义吗?为了澄清,我想要程序计数器的实际值。

另外,有什么方法可以测量代码在内存中的“分布”程度吗?这可以在常规程序中通过查看 objdump 返回的地址范围来测量。然而,这种方法不处理共享库的地址,这又是一个我在 JVM 上下文中不理解的概念。


许多 Java 分析器喜欢VisualVM可以进行基于采样的分析,这可能像您描述的那样工作。

至于代码内存使用情况,这就是垃圾收集器的“永久代”(PermGen)主要包含的内容; VisualVM 也可以显示它。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Java 程序的程序计数器寄存器值 的相关文章

随机推荐