记一次借助arthas排查生产环境问题

1,162 阅读1分钟

报错信息

image.png

定位问题

1、根据报错定位

根据报错信息基本可以定位到时哪里有sql拼写错了

2、根据http请求参数,追踪真实sql拼写

image.png 追踪到sql之后,拼写出的sql可以正常再plsql执行(使用的是oracle)

3、怀疑有哪个入参不对,导致最终拼写的动态sql不对

使用arthas跟踪生产环境入参

image.png

 watch cn.soft1010.ReportDao queryReportList params -x 3

watch :arthas命令

类完整路径 方法名 params

-x 3 标识参数遍历深度

4、拿到入参,单元测试

单元测试通过

5、恐慌,问题出在哪里?

心疼自己一秒,最后发现单元测试的test目录下的mybatis xml文件竟然和main目录的不一样。

arthas简单命令介绍

1、arthas 启动

curl -O https://arthas.aliyun.com/arthas-boot.jar
java -jar arthas-boot.jar

2、选择要监控的java应用程序

输入进程编号 Arthas会attach到目标进程上

3、dashboard

image.png

4、官方文档

官方文档

--------------------------end-------------------------

对你有帮助的话,记得点个赞👍

  • [六十七点五 ]

--------------------------end-------------------------