-
Notifications
You must be signed in to change notification settings - Fork 18
Home
jie.xu edited this page Aug 24, 2020
·
11 revisions
- JDK[6,11]
- Linux/UNIX/MacOS / Windows
-
下载最新稳定版本
-
修改copyfile.sh中的目录地址
-
执行命令
mvn clean install sh copyfile.sh
Attach(动态注入)模式时,此工具依赖被注入应用的jvm运行时的环境变量,请确认JAVA_HOME是否存在,Agent(静态注入)模式无需此配置
attach模式启动:
java -Xbootclasspath/a:$JAVA_HOME/lib/tools.jar -jar bootstrap.jar
选择注入进程:
如果输出:
Attaching to target JVM with PID: 91420
Attached to target JVM and loaded Java agent successfully
则表示注入成功
在一些情况下,如修改jdk源码,对jdk的方法进行注入,或是启动时就需要进行大量的修改,此时可以使用agent模式
agent模式启动:
-javaagent:/Users/xujie/work/ymm/jar/agent.jar=plugins=systemtime.jar
├── zodiac-client
│ ├── agent agent的启动主类,premain在此
│ ├── client-bootstrap agent启动引导,如参数解析,classLoader初始化,attach主类
│ ├── plugins 由用户编写plugin的文件夹,用户自定义的切点,以及aop后要执行的代码主要在此编写
│ ├── runtime-common-api 提供应用运行可引用的功能,ZodiacResource资源池在此定义
│ └── traffic-handler 执行字节码注入的核心代码
└── zodiac-common 共同的pom文件