在btrace中,如何以可读格式打印字节数组?

时间:2018-03-02 00:34:15

标签: btrace

我想使用btrace检查方法的byte []值返回使用@Return注释。

字节数组实际上是使用utf8编码的普通字符串。

课程如下:

Class A {
  byte[] method1() {
    ...
  }
}

我尝试过 printArray ,但它只接受Objetc []的类型,不适用于byte []的类型。 对于 print ,它只输出内部对象ID,如'[B @ 4fbc7b65'。

还有其他办法可以解决问题吗?

1 个答案:

答案 0 :(得分:1)

是的,这是BTrace(https://github.com/btraceio/btrace/issues/322

中的遗漏

目前,使用“可信”模式,安全检查将关闭,您可以执行此操作。

@BTrace(trusted = true)
public class TrustedTrace {
  @OnMethod(clazz = "MyClass", method = "m", location = Location(Kind.RETURN))
  public static void intercept(@Return byte[] data) {
    println(Arrays.toString(data));
  }
}