Java 使用对应arthas 调试程序

1、作用

 使用 arthas  可以进行如下操作

      ①  抓取对应函数的耗时结构,然后分析对应的代码优化代码

      ②  抓取对应函数的 入参、出参函数 

      ③  重放对应的函数执行

      ④  查询对应程序占用结构,比如 cpu, jvm 

      ⑤  查询对应的 执行最频繁的 线程

      ⑥  打印函数的执行路径

2、如何执行

      下载  arthas  : https://github.com/alibaba/arthas

       运行(在对应的arthas-bin 文件目录下执行):   java -jar arthas-boot.jar 

       选择对应的 项目的id  即可

Java 使用对应arthas 调试程序_第1张图片

2、 基本命令

  这里可以对idea  安装对应的插件, arthas idea  。 重启idea 之后

Java 使用对应arthas 调试程序_第2张图片

 选择对应的函数之后,右击选择 函数 arthas command ,即可选择对应的命令

Java 使用对应arthas 调试程序_第3张图片

   1、trace 命令

         作用: 排查对应的函数耗时

trace com.example.demo_own.controller.TestController testSecond  -n 5 --skipJDKMethod false 

    这里 -n  表示监听五次后退出,  --skipJDKMethod false  表示忽略对应的jdk 函数操作耗时打印

 2、 watch 

    作用: 查看对应函数的入参,出参,以及异常信息

watch com.example.demo_own.controller.TestController testSecond '{params,returnObj,throwExp}'  -n 5  -x 3

Java 使用对应arthas 调试程序_第4张图片

这里 -n 5 表示执行5次后退出, -x 3 表示打印对应的层级为 3层

3、monitor 

    作用: 查看对应的函数的执行成功次数,失败次数,总次数。

 monitor com.example.demo_own.controller.TestController testSecond  -n 10  --cycle 10 

       对应的代码执行逻辑是 随机生成了一个 0-1 之间的随机数,然后与0.5 进行判断大小,如果小于0.5 就 抛出对应的异常。

Java 使用对应arthas 调试程序_第5张图片

执行结果:

 

 其中 -n 表示对应的打印次数, --cycle 10 表示每10秒打印一次 。

4、dashboard  

    作用: 打印对应的面板数据

    

5、stack 

 作用:  

stack com.example.demo_own.controller.TestController testSecond  -n 5

6、 tt 

  作用:  重放对应的参数 以执行函数

 (就是说有时候我记录对应的参数,然后重新以这些参数执行并对应的函数)

   

tt -t com.example.demo_own.controller.TestController testSecond -n 5 

(记录对应的函数的 5次参数)

执行结果:

 使用:  重放对应索引为 1000的参数值

Java 使用对应arthas 调试程序_第6张图片

开发中使用这些命令基本上就够了

3、操作命令

   在 每个命令执行结束后 通过 q 来进行退出

你可能感兴趣的:(java,开发语言)