某系统的某功能一直正常, 结果呢, 今天发现突然不正常了,根据日志发现, 程序阻塞在某一个大函数中, 没有出来。 一般来说, 阻塞住了的最常见原因是: 1. 死循环.2 遇到了阻塞函数。当然, 主要是前者。 根据这两个思路, 又加了一些日志进行跟踪定位, 最后发现, 程序果然卡在while循环中。
但是, 这里一直是好的啊! 怎么可能出问题呢? 进一步跟踪发现, 某底层函数表现很异常, 总是返回0(本来不应该是这样)。 遇到这类之前ok现在不ok的问题,我们碰过多次, 也相信大家有经验了: 别再浪费时间了, 直接看看配置库的修改记录吧。
查了一下配置库, 果然有人修改了这个底层函数, 一问那个同事,才得知原来是为了改善效率。 可是他考虑又不够全面, 只考虑了某一个进程而已, 所以出了问题。 好吧, 让他解决去。
再次强调一下, 类似的之前ok现在又不ok的问题, 查找配置库修改记录是首选的思路。
这次, 又尝到甜头了