1. 简介
官网
线上debug神器,就不过多介绍
2. 环境搭建
win11环境 ,jdk11
2.1 安装
下载地址
2.2 启动
cmd
java -jar arthas-boot.jar
启动之后会自动检测启动的java服务
1~4 ,springboot是启动类名,所以我选择了3
3. 常用操作
3.1 dashboard
当运行在 Ali-tomcat 时,会显示当前 tomcat 的实时信息,如 HTTP 请求的 qps, rt, 错误数, 线程池信息等等,来检测当前服务的cpu使用情况
3.2 dump
提前编译文件的字节码的hashcode
-
直接类名检索
dump com/dbtask/DBTaskServerApplication -
模糊检索
dump com/dbtask/*
3.3 jad
查看反编译文件
- 指定到类
jad com/dbtask/DBTaskServerApplication
- 指定方法
- ad --source-only com/dbtask/config/TaskConfig load
- 移除行号
jad --source-only com/dbtask/config/TaskConfig load --lineNumber false
3.4 sc
“Search-Class” 的简写,这个命令能搜索出所有已经加载到 JVM 中的 Class 信息
- 模糊
- 单个详情
sc -d com/dbtask/config/FIleDreInit
- 字段类型
sc -d -f com/dbtask/config/FIleDreInit
3.5 stack
很多时候我们都知道一个方法被执行,但这个方法被执行的路径非常多,或者你根本就不知道这个方法是从那里被执行了,此时你需要的是 stack 命令。
stack com.dbtask.server.ConnectService start -n 5
服务启动,没用调用该方法则会报错
还可以有条件筛选,具体语法::
https://github.com/alibaba/arthas/issues/71
3.6 trace
trace com.dbtask.server.ConnectService start -n 5 --skipJDKMethod false
。。。。。。后续更新