首页 > 内存泄露的问题怎么排查

内存泄露的问题怎么排查

写的程序存在内存泄露的问题,但是自己的开发经验不够,这么多的代码不知道从何处找。

想请问问有经验的开发者,有没有什么好的策略去排查内存泄露具体是由于代码中的哪些行导致的?


什么编程语言?

C语言:
检查malloc等函数分配的内存,有没有对应的free

C++语言:
除上面外,还要找new出来的对象是否有对应的delete

C和C++语言可以使用valgrind这个工具来检测内存泄露,它可以报告导致泄露的地方,很好用。

JAVA语言,要注意检查强引用循环依赖问题,Android下可以用leakcanary工具检测泄露。


  1. 提高编码水平,提高警惕性,避免编写常见的容易导致内存泄漏的代码

  2. 借助工具,网上搜一下,不同语言有不同的工具可以用


如何查找引起内存泄漏的原因呢?一般有两种思路:第一种,安排有经验的编程人员对代码进行走查和分析,找出内存泄漏发生的位置;第二种,就是利用一些内存检查分析工具来分析,找出内存泄露的具体位置可以快速解决。

java内存泄露及检测方法

【热门文章】
【热门文章】