jvisual下BTrace插件简单例子应用
github:https://github.com/btraceio/btrace
应用指南:https://kenai.com/projects/btrace/pages/UserGuide
安装:
java代码:
package stu.org.test1;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
/**
* bTrace调试测试
*
* @author Administrator
*
*/
public class BTraceTest {
public int add(int a, int b)
{
return a + b;
}
public static void main(String[] args) throws IOException, InterruptedException {
BTraceTest test = new BTraceTest();
BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
System.out.println("start-");
for (int i = 0; i < 10; i++) {
reader.readLine();
int a = (int) Math.round(Math.random() * 1000);
int b = (int) Math.round(Math.random() * 1000);
System.out.println(test.add(a, b));
}
}
}
BTrace脚本:
/* BTrace Script Template */
import com.sun.btrace.annotations.*;
import static com.sun.btrace.BTraceUtils.*;
@BTrace
public class TracingScript {
/* put your code here */
@OnMethod(clazz="stu.org.test1.BTraceTest",method="add",location=@Location(Kind.RETURN))
public static void func(@Self stu.org.test1.BTraceTest instance,int a,int b,@Return int result){
println("调用堆栈:");
jstack();
println(strcat("方法参数A:",str(a)));
println(strcat("方法参数b:",str(b)));
println(strcat("结果:",str(result)));
}
}
运行结果: