这篇文章为大家推荐一个为Java应用程序排查问题的非常好用的工具:Arthas,首先声明一下,这边文章并不是教大家如何使用,它只是一个搬运工,在Arthas的github上已经有非常详细的使用教程了。
Arthas(阿尔萨斯)是阿里巴巴开源的Java诊断工具,深受开发者喜爱
当你遇到以下类似问题而束手无策时,Arthas统统可以帮你解决
- 某个类是从哪个jar包加载的,为什么会报各种类相关的Exception?
- 刚发布了代码,调用接口时,为什么感觉新增加的方法没有执行到,是不是发错了分支,导致自己新增的功能并没有发布到线上?
- 遇到问题时无法在线上debug,只能通过添加日志重新发布?
- 线上有遇到问题,但是同样无法debug,而且线下不能重现问题
- 整个系统hang住了,想知道是调用哪个接口方法导致rt特别高
- 想要查看线上是否有线程阻塞
- …
我通过自己使用Arthas的经历总结一下:Arthas允许我们在线上环境直接进行debug,查看任何和我们应用程序有关的信息。
如果你是一名Java应用开发者,如果你碰巧看到了这篇博文并且之前没有使用过Arthas,不管有没有遇到上面类似的问题,请赶紧将上面的链接地址保存起来,相信我,总有一天你会用到Arthas,它会让你排查问题的速率提高百倍!