JDK8 BTrace 工具的简单使用(windows界面版)

以下的内容,我是在jdk8上进行的(注意:jdk版本不能太低),是windows版的界面化。linux版的参考:https://blog.csdn.net/wwd0501/article/details/94485618

一、BTrace的安装

        运行jvisualvm.exe

        

    运行后是这个页面,点击工具-》插件

    点击插件后出现这个页面,点击“可用插件”,勾选要安装的插件,点击安装即可,由于我已安装

    BTrace工具,这儿未显示出来

        安装后,点击“已安装”可看见安装过的插件

        到这说明安装成功!

二、BTrace使用

       下面是测试类,我是在eclipse中测试运行的

package com.test;

public class Calculator {
	private int c = 1;

    public int add(int a, int b) {
    	try {
		    Thread.sleep(1000);
		} catch (InterruptedException e) {
			e.printStackTrace();
		}
        c++;
        return a + b;
    }
}
package com.test;

import java.util.Random;

public class BTraceDemo {
	public static void main(String[] args) {
        Calculator calculator = new Calculator();
        Random random = new Random();
        while (true) {
            System.out.println(calculator.add(random.nextInt(10), random.nextInt(10)));
        }
    }
}

切记先运行BTraceDemo程序,然后打开jvisualvm.exe,会看见运行那个程序的进程,右击那个进程点击“Trace  Application... ”就会出现以下面板

右击出现如下弹框,然后点击Trace application

在右边面板中放入

@OnMethod(
        clazz = "com.test.Calculator",
        method = "add",
        location = @Location(Kind.RETURN)
    )
    public static void func(int a,int b,@Return int result,@Duration long time){
        println("调用堆栈:");
        jstack();
        println(strcat("方法参数A:",str(a)));
        println(strcat("方法参数B:",str(b)));
        println("cost time : " + time);
        println(strcat("方法结果:",str(result)));    
        println();
    }

注意:clazz的指定 

在@OnMethod注解中,需要指定class、method以及location等,class表明需要监控的类,method表明需要监控的方法,指定方式如下:
1、使用全限定名:clazz="com.test.Calculator", method="add"
2、使用正则表达式:clazz="/javax\\.swing\\..*/", method="/.*/"
3、使用接口:clazz="+com.ctrip.demo.Filter", method="doFilter"
4、使用注解:clazz="@javax.jws.WebService", method=""@javax.jws.WebMethod"
5、如果需要分析构造方法,需要指定method="<init>"

然后点击“start”,

 

然后就能在BTrace中看到运行结果了文章参考https://my.oschina.net/ferchen/blog/1610026

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 4
    评论
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

王卫东

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值