命令
help:查看命令帮助信息
help 其他命令/其他命令 [-h/--help]:查看其他命令的帮助文档
cat:打印文件内容,和linux里的cat命令类似
--encoding <value> :文件编码
-h, --help:获取帮助文档
-M, --sizeLimit <value> : 制定大小限制(默认128 * 1024,最大值 8 * 1024 * 1024)
<files>:文件
echo:打印参数,和linux里的echo命令类似
-h, --help:获取帮助文档
grep:匹配查找,和linux里的grep命令类似
-n:显示行号
-v:展示非匹配
-e:使用正则表达式匹配
-m:设定最大展示条数
-A 行数count:指定显示该行之后的n行内容
-B 行数count:指定显示该行之前的n行内容
base64:base64编码转换,和linux里的base64命令类似:查看当前系统的实时数据面板
tee:复制标准输入到标准输出和指定的文件,和linux里的tee命令类似
-m:追加
pwd:返回当前的工作目录,和linux命令类似
cls:清空当前屏幕区域
session:查看当前会话的信息
reset:重置增强类,将被 Arthas 增强过的类全部还原,Arthas 服务端关闭时会重置所有增强过的类
reset com.service.impl.tradeTextConfig.TradeTextConfigInfoDomainServiceImpl / -E *TradeTextConfigInfoDomainServiceImpl:清楚指定类或者正则表达式匹配到的类
Arthas在watch/trace等命令时,实际上是修改了应用的字节码,插入增强的代码。
通过reset可以显式地清除这些增强的代码。
arthas stop会重置被增强的代码。
version:输出当前目标 Java 进程所加载的 Arthas 版本号
history:打印命令历史
-c:清除历史
keymap:Arthas快捷键列表及自定义快捷键
自定义快捷键
在当前用户目录下新建$USER_HOME/.arthas/conf/inputrc文件,加入自定义配置。
快捷键
快捷键说明
命令名称
命令说明
"\C-a"
ctrl + a
beginning-of-line
跳到行首
"\C-e"
ctrl + e
end-of-line
跳到行尾
"\C-f"
ctrl + f
forward-word
向前移动一个单词
"\C-b"
ctrl + b
backward-word
向后移动一个单词
"\e[D"
键盘左方向键
backward-char
光标向前移动一个字符
"\e[C"
键盘右方向键
forward-char
光标向后移动一个字符
"\e[B"
键盘下方向键
next-history
下翻显示下一个命令
"\e[A"
键盘上方向键
previous-history
上翻显示上一个命令
"\C-h"
ctrl + h
backward-delete-char
向后删除一个字符
"\C-?"
ctrl + shift + /
backward-delete-char
向后删除一个字符
"\C-u"
ctrl + u
undo
撤销上一个命令,相当于清空当前行
"\C-d"
ctrl + d
delete-char
删除当前光标所在字符
"\C-k"
ctrl + k
kill-line
删除当前光标到行尾的所有字符
"\C-i"
ctrl + i
complete
自动补全,相当于敲TAB
"\C-j"
ctrl + j
accept-line
结束当前行,相当于敲回车
"\C-m"
ctrl + m
accept-line
结束当前行,相当于敲回车
"\C-w"
backward-delete-word
"\C-x\e[3~"
backward-kill-line
"\e\C-?"
backward-kill-word
exit/stop:退出Arthas
exit/quit命令只是退出当前session,arthas server还在目标进程中运行。
想完全退出Arthas,可以执行 stop 命令。
sc:查找JVM里已加载的类
sc [-d] className
-d 通过-d参数,可以打印出类加载的具体信息,很方便查找类加载问题。
sc支持通配,比如搜索所有的StringUtils:sc *StringUtils
jad:反编译代码
jad 全类名
watch:查看函数的参数/返回值/异常信息
输入 Q 或者 Ctrl+C 退出watch命令。
watch 全类名 方法名
watch com.test.ob testMethod "{params, returnObj, throwExp}" -e -x 2
getstatic:可以方便的查看类的静态属性
getstatic class_name field_name
-c 指定类加载器hash,可以通过sc 全类名获取类加载器hash
--classLoaderClass 指定类加载器的名字