在只有JRE的环境下使用BTrace
Btrace是一个基于Java且可以实现对字节码的动态跟踪的工具,它能在不改动当前程序的情况下,运行时的去监控Java程序的执行状况,例如可以做到内存状况的监控、方法调用的监控等等。但是它只能够运行于JDK6+以上的版本,因为某些原因,如在JDK5中JTWTI(Java Virtual Machine Toolkit Interface:Java 虚拟机工具接口,可以参看这篇文章:http://w
它的使用非常简单,最简单的就是将写好的java源码,直接放到它的bin目录去执行就可以了,它有详细的UserGuide:http://kenai.com/projects/btrace/pages/UserGuide,也可以参看一些别人写的实例,如:http://rdc.taobao.com/team/jm/archives/509。
但是在某些情况下,我们的运行环境中没有JDK,只是JRE,我们就需要对Btrace进行一些修改才可以正常使用了。
1. 从JDK中将tools.jar拷贝到一个合适的目录 (如. /tmp);
2. 从JDK中将libattach.so也拷贝到上面的目录中(Ex. /tmp) - 这个文件,要根据当前运行系统的操作系统位数进行选择,如32位或64位,我们就需要从合适的JDK中进行选择文件;
3. 修改Btrace的脚本,脚本是在bin目录下面,根据不同的系统修改不同的btrace文件 - 将TOOLS_JAR="${JAVA_HOME}/lib/tools.jar"修改为指向上面拷贝的tools.jar;
4. 修改Btrace的脚本,脚本是在bin目录下面,根据不同的系统修改不同的btrace文件 - 修改java执行的那一行 (i.e. 就是以 $JAVA_HOME}/bin/java 开头的行) ,在其中加入参数-Djava.library.path=/tmp,/tmp目录就是我们上面存放libattach.so文件地方;
5. 照原来的执行方式执行即可。
更多推荐
所有评论(0)