Btrace跟踪代码

安装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注意事项

  • btrace在运行期间会自动依赖相关jar包,jar包在btrace目录的build下面,当然也可以引入第三方jar包
  • 打印信息不能用System.out而是用BTraceUtils下面的工具方法,连接字符串也不能用+号,具体查看工具面的方法

执行跟踪代码

  • 运行业务代码
  • 执行btrace btrace 4338 BtraceTest.java,这里的4338是JVM进程id,可以通过jps -mlv查看

运行结果

name:aa
age:20
hello everyone
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 178,836评论 25 709
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 136,525评论 19 139
  • Spring Boot 参考指南 介绍 转载自:https://www.gitbook.com/book/qbgb...
    毛宇鹏阅读 47,261评论 6 342
  • 亲爱的第一份工作,你好。 今天是8月的第一天,距我的毕业已经一个多月了,来到许文强避难并且成家但没有立业的广州也已...
    陌忘宇阅读 2,326评论 23 31
  • 如果每天都能拥有好心情来面对生活,这是多么美妙的一件事情。不过这又是那么的可望而不可即的奢想,每天,都有着意料之中...
    Sharon的英语小镇阅读 700评论 0 4

友情链接更多精彩内容