线上应用调试利器 --Arthas
在之前的文章中,我介绍了使用 Btrace 工具进行线上代码的debug ( https://www.cnblogs.com/yougewe/p/10180483.html ),其大致原理就是通过字节码注入的方式进行辅助排查。 可以说,btrace 已经给我们的开发调试一带来了许多的方便,我们在上面做任何想要的调试!但是,明显, btrace 的使用还是有一定成本的,比如:安装应用,写调试脚本... 所以,今天我们再来看一大利器: arthas (阿尔萨斯) arthas 官网地址: https://alibaba.github.io/arthas/ arthas 的文档真的写得非常棒,可以说一看就会。 但是我还是想写一下一些自己的文档,毕竟我们往往只会用到其中皮毛功能而已。翻阅其所有文档也还是有点浪费了! 一、为什么要用 Arthas ? 其实,这个问题在前面已回答,而且,你为什么要用 btrace ? 同理! 具体理由如下: 可以很方便查到一类是从哪个 jar 包加载的?为什么会报各种类相关的 Exception? 怀疑自己的代码未被部署到服务器,可以通过命令快速验证服务器上的代码就是本地的代码; 可以直接通过 arthas 进行线上debug, 查看方法返回值以确认问题所在; 可以很方便嵌入自己的debug代码,快速验证猜想; 操作完成后