Btrace UserGuide翻译转载

2017-01-18  本文已影响0人  好好学习天天引体向上

原文地址:BTrace用户手册<译>

BTrace(https://btrace.dev.java.net/) 是一个非常不错的java诊断工具, 最近试着用了一下, 文档比较少, 主要是看例子吧.

BTrace 中的B表示bytecode, 表明它是在字节码层面上对代码进行trace 用来在运行中的java类中注入trace代码, 并对运行中的目标程序进行热交换(hotswap)

术语

BTrace限制
为了保证trace语句只读, BTrace对trace脚本有一些限制(比如不能改变被trace代码中的状态)

BTrace例子

// import all BTrace annotations  
import com.sun.btrace.annotations.*;  
// import statics from BTraceUtils class  
import static com.sun.btrace.BTraceUtils.*;  
   
// @BTrace annotation tells that this is a BTrace program  
@BTrace  
class HelloWorld {  
    
    // @OnMethod annotation tells where to probe.  
    // In this example, we are interested in entry  
    // into the Thread.start() method.  
    @OnMethod(  
        clazz="java.lang.Thread",  
        method="start"  
    )  
    void func() {  
        sharedMethod(msg);  
    }  
   
   void sharedMethod(String msg) {  
        // println is defined in BTraceUtils  
        println(msg);  
   }  
}  

方法上的注解

参数上的注解

属性上的注解

类上的注解

上一篇 下一篇

猜你喜欢

热点阅读