如何实现Java采样性能分析器?以Async-Profiler为例探析
本系列试图全面分析Async-Profiler的源码逻辑,目的在于熟悉JVM API、熟悉Profile、熟悉C++编程。欢迎一起交流~
文章框架
- 下载Async-Profiler1.1源码,编译,尝试profile相关功能
- 导入CLion,修改makefile为CMakeLists,导入include文件夹,解决IDE不能识别头文件问题
- 阅读交互脚本
profile.sh
,理解命令的输入与入口函数 - 阅读
jattach.c
源码,这是项目的入口,理解注入
,创建socket,连接JVM,将动态库libasyncProfiler.so
Attach到JVM上。 - 阅读
vmEntry.h
,这是Attach后的入口逻辑。
未完待续,敬请期待
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 Raining的小站!
评论