Btrace跟踪代码

2017-08-05  本文已影响36人  Harlin_

安装Btrace工具

btrace是一个开源项目,选择适合自己PC的bin文件并下载,并配置好环境变量,控制台查看版本号btrace --version

准备业务代码

一段简单的业务代码,我们跟踪的方法是sayHello,当此方法被调用时打印相应参数

import java.util.concurrent.TimeUnit;

public class Test{

    public String sayHello(String name, int age) {
        return "hello everyone";
    }

    public static void main(String[] args){
        Test bTraceTest = new Test();
        while (true) {
            bTraceTest.sayHello("aa", 20);
            try{
                TimeUnit.SECONDS.sleep(1);
            }catch(InterruptedException e){
                e.printStackTrace();
            }
        }
    }
}

跟踪代码

import com.sun.btrace.BTraceUtils;
import com.sun.btrace.annotations.*;

@BTrace
public class BTraceTest{

    @OnMethod(
            clazz = "Test",
            method = "sayHello",
            location = @Location(Kind.RETURN)//函数返回的时候执行,如果不填,则在函数开始的时候执行
    )
    public static void sayHello(String name, int age, @Return String result) {
        BTraceUtils.println(BTraceUtils.strcat("name:", name));
        BTraceUtils.println(BTraceUtils.strcat("age:", BTraceUtils.str(age)));
        BTraceUtils.println(result);
    }

}

Btrace注意事项

执行跟踪代码

运行结果

name:aa
age:20
hello everyone
上一篇下一篇

猜你喜欢

热点阅读