推荐一款好用的线上排查问题工具arthas

Arthas(阿尔萨斯)是阿里巴巴开源的 Java 诊断工具,深受开发者喜爱。
当你遇到以下类似问题而束手无策时,Arthas 可以帮助你解决:
1.这个类从哪个 jar 包加载的?为什么会报各种类相关的 Exception?
2.我改的代码为什么没有执行到?难道是我没 commit?分支搞错了?
3.遇到问题无法在线上 debug,难道只能通过加日志再重新发布吗?
4.线上遇到某个用户的数据处理有问题,但线上同样无法 debug,线下无法重现!
5.是否有一个全局视角来查看系统的运行状况?
6.有什么办法可以监控到JVM的实时运行状态?
Arthas 采用命令行交互模式,同时提供丰富的 Tab 自动补全功能,进一步方便进行问题的定位和诊断。
接下来我来介绍一下arthas的一些命令:
1.java -jar arthas-boot.jar + pid 启动 (注意哦:pid是进程id
2.Jad + 类完整名 反编译class文件(注意哦:这里是完整类名包括包名
3.jps -l 查找进程id
4.thread 查看线程
5.jad --source-only com.Arthas 反编译只显示源码
6.jad --source-only com.Arthas mysql 反编译某个类的某个方法
7.watch com.Arthas addHashSet ‘{params[0],returnObj}’ 查看入参和出参
8.watch com.Arthas addHashSet ‘{params[0],returnObj.size}’ 查看入参和出参大小
9.watch com.Arthas addHashSet ‘{params[0],returnObj.contains(“count10”)}’ 查看入参和出参中是否包含 ‘count10’
10.watch com.Arthas addHashSet ‘{params[0],returnObj.toString()}’ 查看入参和出参,出参 toString
11.stack com.UserServiceImpl mysql 观察 类com.UserServiceImpl的 mysql 方法调用路径

方法截图

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值