记一次愚蠢的内存泄漏问题的排查

在增加一个功能接口时,由于对现有的代码不是很理解,所以直接用拷贝代码的方式做出来了,功能测试时没有问题,但是在重复测试时发现有内存泄漏问题。
从现象上来看,只要调用到一次功能接口,内存就会上涨2M。
由于不太理解这部分拷贝的代码,加上没有仔细阅读,始终没看出来哪里有问题,然后尝试从底层的网络框架入手查看内存申请和释放的原理,也没有发现问题所在。
只能向公司的技术大佬求助,结果他只看了2分钟就看出问题了,在使用发送数据包的接口时用错了。
然后修改为正确的接口后,就没发生内存泄漏问题了。

总结教训:

  1. 写代码时需要对代码的基本功能有所了解,如果时间不够,也要有一个基本的概括认识。
  2. 如果出现这种问题时,应该理清思路,要从现有的代码示例中进行总结和学习,看出使用规律,有自己的思路。
  3. 层次化排查问题,不能一味按照自己的熟悉程度来决定排查顺序,而是根据实际的代码层次去排查。
  4. 记得及时求助,否则浪费了太多时间可能只得到很少的经验。
posted @ 2022-04-08 15:49  bug批发零售  阅读(43)  评论(0)    收藏  举报