前提:有一定编码能力(如果比较熟练掌握一种,那各种编码语言都能大概看懂)
技巧1、用报错信息直接在代码库全局搜
报错信息可以在接口返回信息,也可以是服务器运行日志。
如果是接口报错有两个信息,错误码+错误信息,找两个都对得上的代码位置,检查上下文处理逻辑。
查看服务器日志,可以多种手段过滤至报错行。如关键字error。
技巧2、出参值有问题可以通过找其set方法来快速找到可能出错的地方。
特别是名称比较唯一的字段,比较快捷能在代码库找到出问题的地方。
如字段recheckstatus 有问题,就找代码里的setRecheckstatus()相关,检查上文,大致可以看出值从哪来的。(如果是经过多层传递的,可能比较费时间而且不一定找得到)
但有可能其实例根本漏处理该字段,那么可以进入其构造类(ctrl+鼠标点击类名),查看全部引用之处,如果引用少时,可以一个个排查,多的话只能凭经验如看比较相关的类,如果比较陌生这样排查会比较低效。
3、idea搜目标代码时,记得勾选file mask,只查java文件。
但如果是查配置项或mapper文件,记得取消勾选指定类型。
4、看错误日志技巧。
异常抛错时,抛错信息一般会定位到具体发生异常的类和方法,最上面的是最开始出现异常的代码,一层层往上到最开始调的入口,可以从自己认识的方法/类开始看问题。