安装插件:菜单栏-工具-插件
BTrace:
右击需要btrace的程序–>trace-application
/* BTrace Script Template */
import com.sun.btrace.annotations.*;
import static com.sun.btrace.BTraceUtils.*;
@BTrace
public class TracingScript {
/* put your code here */
@OnMethod(
clazz = "com.example.demoms.BTrace",
method = "add",
location = @Location(Kind.RETURN)
)
public static void fun(@Self com.example.demoms.BTrace instance, int a, int b, @Return int res) {
println(strcat("调用堆栈:", str(instance)));
jstack();
println(strcat("A:", str(a)));
println(strcat("B:", str(b)));
println(strcat("R:", str(res)));
}
}
package com.example.demoms;
import java.util.Random;
public class BTrace {
public int add(int a, int b) {
return a + b;
}
public static void main(String[] args) throws InterruptedException {
BTrace bTrace = new BTrace();
Random random = new Random();
for (; ; ) {
System.out.println(bTrace.add(random.nextInt(10), random.nextInt(10)));
Thread.sleep(1000);
}
}
}
Profiler:
若报错62:运行程序需添加vm启动参数:
-Xverify:none(关闭安全检查)
或
-Xshare:off(关闭类共享)