- 模拟线上异常但是有可能没打日志
private static void insertTable(XWPFRun run, BodyContainer bodyContainer, List<ReportTable> dto) {
int row = dto.size() + 1;
int nummmm = 10 / 0;
- 这个方法是生成报告代理类报的异常,通过异常报错信息可能无法定位异常原因,只能看到expordword方法报错,但是线上无法debug,也有可能异常被吞了看不到具体异常
- 安装arthas可以无须修改代码就可以看到异常报错信息。
- 首先进入服务器安装arthas
curl -L https://arthas.aliyun.com/install.sh | sh
java -jar arthas-boot.jar
启动arthas并输入对应java应用的编号
成功启动
5. idea安装插件
6. 找到对应代码右击可以复制命令
7. 在服务器arthas界面粘贴该命令
watch
定位在65行代码报错但是代码被catch了
判断是中间的compile出错的可能性,然后可能是config的代理类有异常,watch代理类
定位到问题