BTrace實現字節碼增強

  1. 下載BTrace,配置BTrace環境
  2. 引入pom依賴
<dependency>
     <groupId>com.sun.tools.btrace</groupId>
     <artifactId>btrace-agent</artifactId>
     <version>1.3.9</version>
     <scope>system</scope>
     <systemPath>/Users/benettchen/Documents/tools/commonTools/btrace-1.3.9/build/btrace-agent.jar</systemPath>
 </dependency>
 <dependency>
     <groupId>com.sun.tools.btrace</groupId>
     <artifactId>btrace-boot</artifactId>
     <version>1.3.9</version>
     <scope>system</scope>
     <systemPath>/Users/benettchen/Documents/tools/commonTools/btrace-1.3.9/build/btrace-boot.jar</systemPath>
 </dependency>
 <dependency>
     <groupId>com.sun.tools.btrace</groupId>
     <artifactId>btrace-client</artifactId>
     <version>1.3.9</version>
     <scope>system</scope>
     <systemPath>/Users/benettchen/Documents/tools/commonTools/btrace-1.3.9/build/btrace-client.jar</systemPath>
 </dependency>
  1. 編寫BTrace腳本
@BTrace
public class BTraceTest {

    @OnMethod(
            clazz = "com.bj58.btrace.Base",
            method = "run",
            location = @Location( Kind.ENTRY)
    )
    public static void start() {
        println("run() start");
    }

    @OnMethod(
            clazz = "com.bj58.btrace.Base",
            method = "run",
            location = @Location( Kind.RETURN)
    )
    public static void end() {
        println("run() end");
    }
}
  1. 執行BTrace腳本
btrace 15359 /Users/benettchen/workspace/btrace/src/main/java/com/bj58/btrace/BTraceTest.java

執行結果:
在這裏插入圖片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章