天下网吧 >> 网吧天地 >> 网吧技术 >> 网吧系统 >> 正文

怎么样来检查Linux系统下内存泄漏

2013-1-16网络整理佚名

  在前面的文章中我们曾向大家介绍了关于丢失的Linux系统Grub密码如何找回的问题,不知道大家觉得怎么样呢!现在我们要向大家介绍的就是怎么样来检查Linux系统下内存泄漏!下面大家还是跟着我们txwb网吧联盟的网吧系统栏目一起去看看吧!
  1.我们可以在需要内存泄漏检查的代码的开始调用voidmtrace(void).mtrace为malloc等函数安装hook,用于记录内存分配信息.在需要内存泄漏检查的代码的结束调用voidmuntrace(void).
  需要注意的是:一般不要调用muntrace,而让程序自然结束.因为可能有些释放内存代码要到muntrace之后才运行.
  2.用debug模式编译被检查代码(-g或-ggdb)
  3.设置环境变量MALLOC_TRACE为一文件名,这一文件将存有内存分配信息
  4.运行被检查程序,直至结束或muntrace被调用.
  5.用mtrace命令解析内存分配Log文件($MALLOC_TRACE)
  (mtracefoo$MALLOC_TRACE,wherefooistheexecutiblename)
  如果有内存泄漏的话,mtrace会输出分配泄漏,内存的代码位置,以及分配数量.
  需要说明的是:1.可以将mtrace,muntrace放入信号处理函数(USR1,USR2),以动态地进行内存泄漏检查控制.
  2.mtrace是个perl代码,如果你对符号地址与代码文本的转换感兴趣,可以读一下.
  3.again,尽量不要用muntrace()
  ForC++Leak:
  另外,大家检查内存泄漏的方法除glibc提供外;还可以试试一些专用的程序。在这里就不做说明了!
  检查Linux系统下内存泄漏的相关内容我们就说到这里了,大家如果还有不明白的地方可以去本站的网吧系统栏目去查找,如果找不到解决办法,可以留言一起讨论,当然如果大家有什么好的资料也可以和我们一起分享哦!

本文来源:网络整理 作者:佚名

声明
声明:本站所发表的文章、评论及图片仅代表作者本人观点,与本站立场无关。若文章侵犯了您的相关权益,请及时与我们联系,我们会及时处理,感谢您对本站的支持!联系Email:support@txwb.com,系统开号,技术支持,服务联系QQ:1175525021本站所有有注明来源为天下网吧或天下网吧论坛的原创作品,各位转载时请注明来源链接!
天下网吧·网吧天下
  • 本周热门
  • 本月热门
  • 阅读排行