网吧系统
在前面的文章中我们曾向大家介绍了关于丢失的Linux系统Grub密码如何找回的问题,不知道大家觉得怎么样呢!现在我们要向大家介绍的就是怎么样来检查Linux系统下内存泄漏!下面大家还是跟着我们5636网吧联盟的网吧系统栏目一起去看看吧!
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系统下内存泄漏的相关内容我们就说到这里了,大家如果还有不明白的地方可以去本站的网吧系统栏目去查找,如果找不到解决办法,可以留言一起讨论,当然如果大家有什么好的资料也可以和我们一起分享哦!
以上内容整理自互联网,如有侵权,请立即与小编联系,小编将及时处理。转载或引用本网版权所有之内容请注明来源,感谢您对本站的支持! 联系QQ:2850592923 欢迎加入网吧业主 交流群:614859884(已满)397580722(可加)
点击排行榜
投稿专区