内存泄露的问题怎么排查
写的程序存在内存泄露的问题,但是自己的开发经验不够,这么多的代码不知道从何处找。
想请问问有经验的开发者,有没有什么好的策略去排查内存泄露具体是由于代码中的哪些行导致的?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
写的程序存在内存泄露的问题,但是自己的开发经验不够,这么多的代码不知道从何处找。
想请问问有经验的开发者,有没有什么好的策略去排查内存泄露具体是由于代码中的哪些行导致的?
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
接受
或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
发布评论
评论(3)
提高编码水平,提高警惕性,避免编写常见的容易导致内存泄漏的代码
借助工具,网上搜一下,不同语言有不同的工具可以用
什么编程语言?
C语言:
检查malloc等函数分配的内存,有没有对应的free
C++语言:
除上面外,还要找new出来的对象是否有对应的delete
C和C++语言可以使用valgrind这个工具来检测内存泄露,它可以报告导致泄露的地方,很好用。
JAVA语言,要注意检查强引用循环依赖问题,Android下可以用leakcanary工具检测泄露。
如何查找引起内存泄漏的原因呢?一般有两种思路:第一种,安排有经验的编程人员对代码进行走查和分析,找出内存泄漏发生的位置;第二种,就是利用一些内存检查分析工具来分析,找出内存泄露的具体位置可以快速解决。
java内存泄露及检测方法