java应用诊断-arthas

以前开过远程调试,用起来总是不尽人意,也用过BTrace等,用不习惯,难用!
但是阿里这个小工具对我来说简直就是黑夜里的明灯,神灯。一百分安利

下载链接

使用说明:https://arthas.aliyun.com/doc/download.html

优点:

1 命令行交互操作简洁,界面友好
2 查看的内容多,可以洞悉内部运行情况
3 不需要网络,拷贝一个jar包即可,只要有服务进程相同的执行权限即可
4 基于动态字节码增强技术,退出后可以还原重置内部类,不影响服务正常运行,可以悄悄地就把bug给查了

准备工作,启动运行一个jar包即可!需要和目标进程同一用户启动运行,一定要记得结束退出时候用stop命令,如果是异常等情况没来的及执行stop,也记得要重新启动运行再连进去执行stop命令,用来重置被修改增强的目标进程,否则…

常用使用场景:

1 dashboard

2 thread

3反编译指定类的源码

可了解版本冲突,版本不一致等问题
jad com.chinaoly.frm.core.baseDao.redis.RedisKeyValuesDao

4方法执行数据观测

让你能方便的观察到指定方法的调用情况。能观察到的范围为:返回值、抛出异常、入参,通过编写 OGNL 表达式进行对应变量的查看。异常信息被捕获吃掉了,日志无法看到异常详情
watch com.chinaoly.frm.login.util.GetZtUserInfo getZtUserInfo returnObj
在这里插入图片描述
下图解释:当响应超过100毫米,第一个参数不为空,第二个参数是admin,则打印输入输出参数和异常信息
在这里插入图片描述

5 查看JVM已加载的类信息

sc -d com.chinaoly.frm.core.service.BaseService
在这里插入图片描述

6 查看已加载类的方法信息

sm com.chinaoly.frm.core.service.BaseService
sm -d com.chinaoly.frm.core.service.BaseService getDictList
在这里插入图片描述

7方法执行数据的时空隧道

记录下指定方法每次调用的入参和返回信息,并能对这些不同的时间下调用进行观测,和watch搭配使用
tt -t com.chinaoly.frm.login.controller.LoginController checkLogin
在这里插入图片描述

8 打印调用链路

track com.chinaoly.frm.login.controller.LoginController checkLogin
在这里插入图片描述

9 方法内部调用路径,并输出方法路径上的每个节点上耗时

trace com.chinaoly.frm.login.controller.LoginController checkLogin
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值