Arthas 是一款线上监控诊断产品,通过全局视角实时查看应用 load、内存、gc、线程的状态信息,并能在不修改应用代码的情况下,对业务问题进行诊断,包括查看方法调用的出入参、异常,监测方法执行耗时,类加载信息等,大大提升线上问题排查效率。
线上java程序错误日志报了空指针异常,但没提示代码错误的堆栈信息,无法定位问题代码行号,又不能短时间内把客户数据还原到本地进行测试。就可以用到Arthas(阿尔萨斯)这个工具了
第一步:下载
arthas (aliyun.com),点击顶部菜单下载链接,进入下载页面,选择从github下载,选择Zip包下载,本地解压缩。
第二步:运行程序,在解压后,在文件夹里有arthas-boot.jar
,直接用java -jar
的方式启动:
在cmd命令行运行:java -jar arthas-boot.jar
在命令运行结果列表中选择要跟踪的程序pid,输入相应数值回车
第三步:跟踪指定包中的具体类和函数
trace
命令能主动搜索 class-pattern
/method-pattern
对应的方法调用路径,渲染和统计整个调用链路上的所有性能开销和追踪调用链路。
命令行格式 trace 包名.类名 方法名标签:java,Arthas,jar,跟踪,arthas,线上 From: https://www.cnblogs.com/sdlz/p/16611911.html
类名和方法名之间有一个空格
trace cn.net.inpatientDoctorOrderWrite.IptDoctorOrderWriteServiceImpl isNetProject
开启跟踪命令行后就可以进行操作重新异常,在跟踪窗口会输出具体的错误代码行数(追踪输出的最后行)