Btrace打印自定义引用类方法参数
Posted bluemilk
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Btrace打印自定义引用类方法参数相关的知识,希望对你有一定的参考价值。
简介
BTrace是sun公司推出的一款Java 动态、安全追踪(监控)工具,可以在不用重启的情况下监控系统运行情况,方便的获取程序运行时的数据信息,如方法参数、返回值、全局变量和堆栈信息等,并且做到最少的侵入,占用最少的系统资源。
废话不多说,看这篇文章的读者肯定是对Btrace有基本的了解了。笔者在使用Btrace时,想打印方法的入参,发现官方文档的例子并不明显。经过一番摸索,发现下面这种方式是能够获取自定义类型参数值的。
@BTrace
public class Debug
@OnMethod(clazz = "fun.coolife.btrace.BtraceCase", method = "query", location = @Location(Kind.ENTRY))
public static void argPrint(Object request)
BTraceUtils.printFields(request);
输出结果:
可以看到,Btrace成功打印了方法入参的值。笔者用来测试的参数是一个自定义的对象,具体如下:
public class Request
private Long customerId;
private Integer status;
public Long getCustomerId()
return customerId;
public void setCustomerId(Long customerId)
this.customerId = customerId;
public Integer getStatus()
return status;
public void setStatus(Integer status)
this.status = status;
注意
由于Btrace会把脚本逻辑直接侵入到运行的代码中,所以不恰当的使用,可能会导致JVM崩溃。因此,Btrace做了诸多限制。通常是通过BTraceUtils工具类来操作。
以上是关于Btrace打印自定义引用类方法参数的主要内容,如果未能解决你的问题,请参考以下文章
C#值参数和引用参数,方法的重载,foreach,数组,以及ref和out的用法