我想使用注释btrace
来检查方法返回的 byte[] 值。@Return
字节数组实际上是使用 utf8 编码的普通字符串。
类如下:
Class A {
byte[] method1() {
...
}
}
我试过printArray
了,但它只接受 Objetc[] 类型,不适用于 byte[] 类型。对于print
,它只输出内部对象 id,如 '[B@4fbc7b65'。
有没有其他方法可以解决问题?
我想使用注释btrace
来检查方法返回的 byte[] 值。@Return
字节数组实际上是使用 utf8 编码的普通字符串。
类如下:
Class A {
byte[] method1() {
...
}
}
我试过printArray
了,但它只接受 Objetc[] 类型,不适用于 byte[] 类型。对于print
,它只输出内部对象 id,如 '[B@4fbc7b65'。
有没有其他方法可以解决问题?
是的,这是 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));
}
}