今天发现在OpenWRT(RT5350)跑的一个应用程序(C++写的)内存溢出导致程序崩溃;同事叫我安装GDB来调试,我也不知道怎么装,也没有用过,后来叫我在虚拟机上装cppcheck来检查一下源码的编写规范,检查发现new 一个数组的时候 delete的时候没有加[];加上后发现还是会内存溢出。无奈之下我就一个线程一个线程注释来查看内存(top命令看内存使用情况);发现其中一个线程注释后就不会内存泄漏(问题找到了,好笨的方法
);问题找到了出在哪个线程,就仔细查,由于基础不牢地动山摇(我第一次用C++,也第一次基于系统编程的菜鸟);其中有C++自链表用完没有清空,导致内存泄漏,自己都觉得好傻逼;list.clear(),因为list里面的元素是通过new来申请堆空间的....
随想录——关于内存泄漏查找代码
最新推荐文章于 2024-06-18 19:05:35 发布