本系列试图全面分析Async-Profiler的源码逻辑,目的在于熟悉JVM API、熟悉Profile、熟悉C++编程。欢迎一起交流~

文章框架

  1. 下载Async-Profiler1.1源码,编译,尝试profile相关功能
  2. 导入CLion,修改makefile为CMakeLists,导入include文件夹,解决IDE不能识别头文件问题
  3. 阅读交互脚本profile.sh,理解命令的输入与入口函数
  4. 阅读jattach.c源码,这是项目的入口,理解注入,创建socket,连接JVM,将动态库libasyncProfiler.so Attach到JVM上。
  5. 阅读vmEntry.h,这是Attach后的入口逻辑。

未完待续,敬请期待