Btrace
Btrace用于调试正在运行的系统,并且在调试时不会暂停系统。特别适用于跟踪线上问题。你可以实时监控一个系统中任何一个方法的调用,你可以知道这些方法的参数、返回值是什么,还可以知道方法调用消耗了多少时间。
Btrace不需要安装,只要下载一个包,解压即可。
Btrace用法为bin/btrace <pid> <trace-script>
。其中pid
是正在运行的java进程,trace-script
是跟踪脚本,它其实就是一段java代码。
Hello World
首先我们模拟一个正在运行的程序,它仅有一个循环。
package com.caipeichao;
public class NullApp {
public static void main(String[] argv) {
new NullApp().run();
}
public void run() {
for (int i = 0; i < 100000; i++) {
sleep(1000);
new MyObj().life(i);
}
}
private static class MyObj {
public void life(int n) {
System.out.println(n);
}
}
private