最新文章列表

BTrace--动态跟踪Java代码的执行状况工具

非常强烈的推荐下BTrace这个工具,用了后不得不说太强大了,BTrace简单来说,就是能在不改动当前程序的情况下,运行时的去监控Java程序的执行状况,例如可以做到内存状况的监控、方法调用的监控等等,官方网站上有非常多详细的例子,我不说太多,只在下面举一个简单的例子来说明它的作用,BTrace的User Guide请见:http://kenai.com/projects/btrace/page ...
wbj0110 评论(0) 有1235人浏览 2013-08-20 09:02

BTrace二三事之四:unsafe脚本需要注意的

unsafe脚本怎样才是安全的??除了脚本对已有对象应该限于只读操作, 并且不应该持有对象的引用外,暂时所能想到的,先列几条吧: 1、启用unsafe模式:    修改BTrace启动参数 -Dcom.sun.btrace.unsafe=true    BTrace脚本注解:@BTrace(unsafe = true) 2、BTrace脚本类的ClassLoader为引导类加载器;    被跟踪 ...
sswh 评论(1) 有3951人浏览 2013-03-11 21:30

BTrace二三事之三:方法签名和参数匹配

@OnMethod注解用来匹配拦截的方法,Location用来指定在方法的某个位置或者某个动作时触发拦截代码。 常用的Location: Kind.ENTRY(缺省的Location,当进入方法时,代码添加在方法第一行) Kind.RETURN(当从方法返回时,如果方法有多个返回点,则每一个返回点前都会执行) Kind.ERROR(当方法执行异常时,当方法执行过程中抛出异常,会触发)   实际生 ...
sswh 评论(0) 有2330人浏览 2013-03-04 21:02

BTrace二三事之二:OnMethod子类匹配BUG(怀疑)

BTRace1.2.2版本 @OnMethod(clazz = "+my.Command", method="execute") 对子类的匹配(怀疑)存在BUG。 即:加载Agent之前的已载入的Class被拦截了,但Agent加载之后的Class没有拦截。 从源代码看应该是这样,涉及到子类匹配检查的主要两个变量: hasSubclassChecks : ...
sswh 评论(0) 有1844人浏览 2013-03-02 13:25

BTrace二三事之一:类转换方式和子类的匹配

以下基于BTrace1.2.2 [url]http://kenai.com/projects/btrace/downloads/directory/releases [/url] BTrace类的增强分两部分: Agent载入之前已加载类的转换; Agent载入之后新定义类的转换; 其中,Agent载入之前已加载类的转换在: com.sun.btrace.agent.Main.handleNe ...
sswh 评论(0) 有2414人浏览 2013-03-01 18:51

Btrace、DTrace实战之Btrace

Btrace及Dtrace实战之BTRACE   最早接触的是btrace,那会在2010年就听说了,后来又听说了Dtrace,今天放假回来就总结总结这两个线上调试利器。 源码下载地 ...
inter12 评论(0) 有3714人浏览 2013-01-04 18:47

使用Btrace查看某个线程池活跃线程大小

某一天想查看某个应用里的hsf活跃线程数(工作线程)。 第一个想到的jstack,根据jstack打出的日志分析。 典型日志: "HSFBizProcessor-thread-6"prio=10 tid=0x00002aaabdffd800 nid=0x201f runnable [0x000000004768e000] java.lang.Thread.S ...
iwinit 评论(0) 有4828人浏览 2012-12-26 00:31

BTrace简单实用教程

BTrace本身也是可以独立运行的程序,作用是在不停止目标程序运行的前提下,通过HotSpot虚拟机的HotSwap技术动态插入原本不存在的调试代码。 比如遇到了我们的程序出问题,而又没有足够的打印语句时,我们一般的方法是不得不停掉服务,然后修改代码,增加打印语句,重新编译重新运行来解决,效率很低。 但有了BTrace,我们需要做的就很简单了,举例说明:   比如环境上运行着一个简单程序: ...
lynnkong 评论(3) 有3439人浏览 2012-12-03 21:13

BTrace实践

        今天使用了BTrace排查线上问题,发现很好用,推荐给大家。   import static com.sun.btrace.BTraceUtils.println;   import static com.sun.btrace.BTraceUtils.*;   import com.sun.btrace.annotations.*;   import static c ...
gigi_112 评论(0) 有3112人浏览 2012-10-24 14:04

BProfiler

用BTrace写了一个蛋疼的Profiler,一堆问题.... 另外吐槽下,btrace如果频繁加载,会很容易让java进程core掉~我一个晚上能死5次是家常便饭   http://code.google.com/p/b-profiler/    
vlinux 评论(0) 有900人浏览 2012-10-24 01:14

HouseMD, 比BTrace更实用的Java运行诊断工具

  HouseMD 是一款非常敏捷的Java进程运行时的诊断调式命令行工具, 它具备安全易用高效的特点, 让它非常适合在要求严格的线上(生产)环境中使用. 特性 交互式命令行 支持
Rocky_rup 评论(0) 有9712人浏览 2012-06-17 10:11

btrace下载

http://kenai.com/projects/btrace/downloads/directory/releases [2012/04/13 19:46:56.471][][0x000252000FB40000][INFO][before invoke synchronizeToDB, handler is : com.hs.lego.nem.topo.msg.handler.MoUpda ...
zyz611 评论(0) 有1614人浏览 2012-04-11 10:48

JVM监控工具VisualVM的使用

VisualVM是jvm的可视化监控工具   下载地址:http://visualvm.java.net/download.html   监控本地jvm很简单,这里不详细说了。 监控远程jvm的方法有2种 一、远程服务器启动jstatd守护进程 ./jstatd -J-Djava.security.policy=jstatd.all.policy -J-Djava.rmi.server ...
xtuhcy 评论(0) 有7554人浏览 2012-03-21 17:13

BTrace拦截输入参数及返回值

服务端类: package test; public class BTraceServer { public String sayHello(int i) { return "参数" + i; } public static void main(String[] args) throws InterruptedException { BT ...
buzhucele 评论(0) 有4419人浏览 2012-03-13 15:37

BTrace系列之五:实现原理

BTrace系列之五:实现原理 原理简介 BTrace的实现原理其实早有博文阐述,详细见这里。 我在这里只所以在此进行阐述是想带着大家思考一下这些原理的背后,我们是否也能够运用这些原理去实现一些意想不到的事情,其实就是一个抛砖引玉的过程,希望大家能够多多进行讨论,搞出一些开源的好的工具也没准。   BTrace整个实现的原理是Java Agent+ASM+Java instru ...
mgoann 评论(1) 有6890人浏览 2012-02-24 18:48

BTrace系列之四:破解案例

BTrace系列之四:破解案例 破解案例 破解思路:使用BTrace可以轻松的对Java软件达到破解的目的。 1.捕捉某些征兆:大家都知道共享软件在未授权的 ...
mgoann 评论(0) 有2235人浏览 2012-02-22 11:11

BTrace实际案例分析

BTrace实际案例分析 问题表象 问题描述 1.最近有项目组的童鞋反馈,web页面频繁出现假死的状态。 2.web页面的假死出现是概率事件,且无法确定假死的引发原因。 3.是在一定的操作之后出现的,但是无法确定究竟是哪些操作引发这些操作。
mgoann 评论(2) 有6409人浏览 2012-02-17 17:24

BTrace工具简介

BTrace工具简介 What is Btrace? Java进程诊断分析工具 安全的工具          无侵入性          不修改应用任何应用数据          限制跟踪行为,没能有循环 依赖组件
mgoann 评论(1) 有12491人浏览 2012-02-17 17:09

【性能跟踪】btrace学习二--btrace一个简单例子

btrace安装好了,就看一些语法吧。可以到btrace的官方帮助文档中去看,基本上就可以http://kenai.com/projects/btrace/pages/UserGuide   【注:你本地的jdk要是1.6及以上才行,1.5可是不支持的】   下面以一个例子来说明: 新建了一个工程,目录结构如下:   写btrace脚本和一般的java差别不大,只是用了一些anno ...
qyongkang 评论(0) 有358人浏览 2010-12-21 21:58

【性能跟踪】btrace学习一--安装btrace

最近公司里为了监控线上的类,方法的执行时间,结果等用到了这个开源的小工具,自己也学习了下,感觉比较简单,但是还是挺实用的。 这里做个学习笔记。   1.首先到网上下个Btrace包吧,官方网址是:http://kenai.com/projects/btrace btrace不用怎么安装,下下来之后解压就可以直接使用了。window下,linux下都是一样的,这里就按window下的安装来说 ...
qyongkang 评论(0) 有392人浏览 2010-12-21 21:52

最近博客热门TAG

Java(141747) C(73651) C++(68608) SQL(64571) C#(59609) XML(59133) HTML(59043) JavaScript(54918) .net(54785) Web(54513) 工作(54116) Linux(50906) Oracle(49876) 应用服务器(43288) Spring(40812) 编程(39454) Windows(39381) JSP(37542) MySQL(37268) 数据结构(36423)

博客人气排行榜

    博客电子书下载排行

      >>浏览更多下载

      相关资讯

      相关讨论

      Global site tag (gtag.js) - Google Analytics