arthas学习笔记
排查函数调用异常
查看 参数/异常
1 | watch com.example.demo.arthas.user.UserController * '{params, throwExp}' -x 2 |
- 第一个参数是类名,支持通配
- 第二个参数是函数名,支持通配
条件表达式
watch 命令支持在第 4 个参数里写条件表达式,比如:
1 | watch com.example.demo.arthas.user.UserController * returnObj 'params[0] > 100' |
当返回参数>100 才在控制台打印
当异常时捕获
watch 命令支持-e 选项,表示只捕获抛出异常时的请求:
1 | watch com.example.demo.arthas.user.UserController * "{params[0],throwExp}" -e |
按照耗时进行过滤
watch 命令支持按请求耗时进行过滤,比如:
1 | watch com.example.demo.arthas.user.UserController * '{params, returnObj}' '#cost>200' |
热更新代码
jad 反编译 UserController
1 | jad --source-only com.example.demo.arthas.user.UserController > /tmp/UserController.java |
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 树灼的博客!


