读书人

BTrace施用

发布时间: 2012-07-01 13:15:00 作者: rapoo

BTrace使用

该篇文章为译稿,原稿在:http://kenai.com/projects/btrace/pages/UserGuide#btrace_anno

包括本文提到的sample代码也在原稿中有连接。

Btrace的API在:http://btrace.kenai.com/javadoc/1.2/index.html

?

BTrace(https://btrace.dev.java.net/) 是一个非常不错的java诊断工具, 最近试着用了一下, 文档比较少, 主要是看例子吧.?
BTrace 中的B表示bytecode, 表明它是在字节码层面上对代码进行trace?
用来在运行中的java类中注入trace代码, 并对运行中的目标程序进行热交换(hotswap)?

btrace还提供了VisualVM Plugin 以及Netbeans Plugin

术语?
Probe Point?
在何处执行trace语句, 这里的"何处"可以是具体的跟踪地点和执行事件, 在BTrace中通过各种注解来指定?

Trace Actions or Actions?
在何时执行trace语句?

Action Methods?
定义在trace脚本中的trace语句, 具体来说就是脚本中的无返回值静态方法(1.2之后可以是非静态方法)?

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

BTrace步骤?
1.取得目标java进程id(pid)?
2.编写BTrace脚本?
3.执行命令行:??btrace <pid> <自己定制的脚本> <输出文件>

eg:btrace 3045PrintExecuteTime.java > time.log?

完整的BTrace命令:?

引用btrace [-I <include-path>] [-p <port>] [-cp <classpath>] <pid> <btrace-script> [<args>]

?

读书人网 >操作系统

热点推荐