在只有JRE的环境下使用BTrace

发布时间:2016-12-8 0:22:19 编辑:www.fx114.net 分享查询网我要评论
本篇文章主要介绍了"在只有JRE的环境下使用BTrace",主要涉及到在只有JRE的环境下使用BTrace方面的内容,对于在只有JRE的环境下使用BTrace感兴趣的同学可以参考一下。

Btrace是一个基于Java且可以实现对字节码的动态跟踪的工具,它能在不改动当前程序的情况下,运行时的去监控Java程序的执行状况,例如可以做到内存状况的监控、方法调用的监控等等。但是它只能够运行于JDK6+以上的版本,因为某些原因,如在JDK5中JTWTI(Java Virtual Machine Toolkit Interface:Java 虚拟机工具接口,可以参看这篇文章:http://www.ibm.com/developerworks/cn/java/j-lo-jvmti/),只支持基于本地库(Native library)的代理,而不支持于基于某个jar的代理。 它的使用非常简单,最简单的就是将写好的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. 照原来的执行方式执行即可。 以上是翻译于:https://kenai.com/projects/btrace/forums/tips-tricks/topics/13119-Using-BTrace-with-JRE-as-a-target-VM

上一篇:信息时代,我们需要改变观念了
下一篇:sping注解描述

相关文章

相关评论