场景:
代码中有一部分增强for循环,里面是很复杂的处理逻辑,
并且处理的AObjectList列表数量非常大,在这串代码中想看一下某个name为"小白"的对象的处理过程。
如果断点直接打在for循环体内
可能要重复百次甚至千次以上才能找到这个对象
方法:
一、idea断点方式:
打断点之后-右键断点-可以在Conditions(条件)里写上停止的条件,直到满足条件时,才停到这个断点-点Done(完成)-deBug即可
二、临时改变程序:加if()判断-打断点、打印需要的信息
如果用这种方式,最好在if里把需要验证、查看的信息打印出来,如果能获得所有的信息,这样也不需要打断点
明显,不如不改程序,用Debug工具好使
三、日常维护:加日志,记录异常信息
一般用来监控一些不经常发生、bug难以复现的程序。比如可能因为网络问题,造成调接口获得的一个属性丢失等,而这种情况可能单独测试时是正常的
增加日志,可以日常监控,如果有异常,记录出是哪个对象,及过程中数据变化
这里如果影响重要数据的话,可以搭配报警系统(),做到及时处理