1.小黄鸭调试法先把问题描述清楚!
2.梳理目前的已知点,通过已知界限扩展未知。
3.二分法定位 一步步排查,将复杂问题简单化。
4.复现问题,如果这个问题无法复现,属于神学范畴,可以忽略。
5.结合日志逆推定位报错或有问题的代码的界限,确定了正常和错误的界限后,问题也就迎刃而解。有思路的话,直接筛选目的日志,按流程一步步看日志,最好使用tail捞取全量日志。当关键日志不清晰时,要查下该日志时间前后的日志,仔细推敲,细微之处一定会显露踪迹。
6.如果不是这里,且没有思路时,反推模拟现场,如果你怎么做才会实现这个bug?想想最可能导致报错的位置,然后一步步排查。前提就是搞清楚整个流程!
7.从新读一遍法度榜样,看样例是否正常,比较和样例有什么不同。可以使用问题还原法,就算觉得一样也先测试成功代码(或数据),然后一步步改成我的代码(或数据),找到报错临界点。
8.代码只是复杂但本身不是很长,重写吧。
9.断点调试。
10.向有经验的同事请教,和领导沟通反馈进度。即实在无法处理的时候,把异常抛到上层!