Arthas阿里开源的Java诊断工具新手入门

Arthas官方文档,开文就描述了该工具的功能:

    当你遇到以下类似问题而束手无策时,Arthas可以帮助你解决:

1.这个类从哪个 jar 包加载的?为什么会报各种类相关的 Exception?

2.我改的代码为什么没有执行到?难道是我没 commit?分支搞错了?

3.遇到问题无法在线上 debug,难道只能通过加日志再重新发布吗?

4.线上遇到某个用户的数据处理有问题,但线上同样无法 debug,线下无法重现!

5.是否有一个全局视角来查看系统的运行状况?

6.有什么办法可以监控到JVM的实时运行状态?

一.arthas新手入门

1.下载arthas-demo.jar,再用java -jar命令启动:

$ wget https://alibaba.github.io/arthas/arthas-demo.jar

$ java -jar arthas-demo.jar

图1

2.下载arthas-boot.jar程序,并启动

$ wget https://alibaba.github.io/arthas/arthas-boot.jar

$ java -jar arthas-boot.jar

输入1,让arthas追踪255 端口的demo程序


图2

3.arthas追踪成功后,会显示下图


图3

4.dashboard命令,查看当前系统的实时数据面板。

$ dashboard


图4

5.thread 1 会打印线程1的栈

$ thread 1


图5

6.jad demo.MathName 可以反编译代码

$ jad demo.MathName


图6

7.watch命令可以查看方法入参/返回值/异常等

$ watch demo.MathGame primeFactors returnObj


图7

8.stop命令可以彻底退出arthas追踪

$ stop

$ exit

exit可以退出追踪,但连接任然存在,可以再运行java -jar arthas-boot.jar进入追踪连接.

以上为arthas的新手入门,稍后会将arthas进阶使用的文章发布.

你可能感兴趣的:(Arthas阿里开源的Java诊断工具新手入门)