改bug的一些体会
1.某个类,想知道它怎么被使用,一个很好的办法是在 构造函数上打断点
一个比较类似的是—搜索枚举
2.在比对两条代码逻辑时,二者最开始出现差异的地方时非常关键的
3.在修复问题时,对代码基本不了解时,最好可以找到正确的情形来进行对比
4.调试和日志打印在不同的情形下各有优劣,比如在for循环时,日志打印会有更好的表现。
当有调试的表现明显变差的情形,应该考虑是否使用日志输出
还有 当出现无法调试的场景时,应该想到使用日志
比如在测试机上才能复现的问题,而测试机上没有代码,可以在某个单独的动态库中添加日志,然后把动态库替换进去
5.当然,日志和调试都是手段,目的还是了解代码,
不应该完全只注重手段,而忘记了目的
调试 和 看代码 的比重应该要达到某个平衡
6.不要舍近求远,切入点一定要在线索处(如果没有直接线索的话也要在当前已知的最有可能的地方),然后逐步剖析
即使偏离毫厘也不要
当找得迷茫的时候,应该回过头看看是否偏离了线索