java线上问题跟踪工具Arthas的第一次使用

Arthas 是一款线上监控诊断产品,通过全局视角实时查看应用 load、内存、gc、线程的状态信息,并能在不修改应用代码的情况下,对业务问题进行诊断,包括查看方法调用的出入参、异常,监测方法执行耗时,类加载信息等,大大提升线上问题排查效率。

线上java程序错误日志报了空指针异常,但没提示代码错误的堆栈信息,无法定位问题代码行号,又不能短时间内把客户数据还原到本地进行测试。就可以用到Arthas(阿尔萨斯)这个工具了

第一步:下载

 arthas (aliyun.com),点击顶部菜单下载链接,进入下载页面,选择从github下载,选择Zip包下载,本地解压缩。

 

 

 第二步:运行程序,在解压后,在文件夹里有arthas-boot.jar,直接用java -jar的方式启动:

在cmd命令行运行:java -jar arthas-boot.jar

在命令运行结果列表中选择要跟踪的程序pid,输入相应数值回车

第三步:跟踪指定包中的具体类和函数

trace 命令能主动搜索 class-patternmethod-pattern 对应的方法调用路径,渲染和统计整个调用链路上的所有性能开销和追踪调用链路。

命令行格式 trace 包名.类名 方法名
类名和方法名之间有一个空格
trace cn.net.inpatientDoctorOrderWrite.IptDoctorOrderWriteServiceImpl isNetProject
开启跟踪命令行后就可以进行操作重新异常,在跟踪窗口会输出具体的错误代码行数(追踪输出的最后行)
posted @ 2022-08-22 10:13  lybingyu  阅读(496)  评论(0编辑  收藏  举报