美文网首页
Btrace跟踪代码

Btrace跟踪代码

作者: Harlin_ | 来源:发表于2017-08-05 14:38 被阅读36次

安装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

相关文章

  • Btrace跟踪代码

    安装Btrace工具 btrace是一个开源项目,选择适合自己PC的bin文件并下载,并配置好环境变量,控制台查看...

  • JVM诊断

    JVM诊断 Btrace 一种用于Java平台的安全,动态的跟踪工具 BTrace可用于动态跟踪正在运行的Java...

  • Java开发大型互联网架构深入解析BTrace 介绍及原理实践

    引言 BTrace是Java的安全可靠的动态跟踪工具。 他的工作原理是通过 instrument + asm 来对...

  • 使用btrace进行运行时异常原因分析

    BTrace是Java的安全可靠的动态跟踪工具。 他的工作原理是通过 instrument + asm 来对正在运...

  • BTrace 简要介绍

    BTrace是Java的安全可靠的动态跟踪工具。 他的工作原理是通过 instrument + asm 来对正在运...

  • Btrace学习笔记二

    Btrace拦截行号 被拦截对象(Btrace只能在本地运行) 拦截行号的btrace脚本 运行btrace脚本 ...

  • Vim 之代码跟踪

    这一篇聊聊我们如何通过 vim 浏览代码 代码浏览最重要的就是跟踪代码, 跟踪定义, 跟踪声明, 跟踪调用, 跟踪...

  • Btrace UserGuide翻译转载

    原文地址:BTrace用户手册<译> BTrace(https://btrace.dev.java.net/) 是...

  • BTrace:线上问题排查工具

    BTrace简介 GitHub地址:BTrace 下载地址:v1.3.11.3 官方使用教程:Btrace使用教程...

  • Btrace学习笔记

    btrace简介,拦截函数和异常 动态地向目标应用程序的代码注入追踪代码。JavaComplierApi、JVMT...

网友评论

      本文标题:Btrace跟踪代码

      本文链接:https://www.haomeiwen.com/subject/conilxtx.html