繁体   English   中英

如何获取java程序的动态调用图

[英]How to get the dynamic call graph of a java program

我无法获取或修改程序的源代码。 所以我试图阅读 jvm(hotspot) 源代码,看看在它获取“调用方法”指令时我是否可以做些什么,但它看起来很复杂。

我想知道我应该从哪里开始相关代码,或者是否有其他方法可以做到这一点。

不需要修改JVM代码来拦截方法调用。 使用JVMTI有一种标准的文档化方法可以做到这一点。

您需要创建一个代理,该代理将为MethodEntry / MethodExit JVMTI 事件设置回调,将其编译为共享库,然后使用-agentpath:/path/to/libYourAgent.so选项运行 Java。

请参阅此问题中使用 MethodEntry/MethodExit 事件的示例。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM