本文主要是介绍linux valgrind 内存检测,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
原理
内存泄漏的检测原理就是把系统的malloc和free等内存操作函数覆盖掉,然后增加计数统计。再程序运行结束后,比对查看相同地址的内存指针的创建与销毁是否成对。排查避免内存未释放或者野指针等问题。当然valgrind会把当前异常内存指针的上下文也打印出来方便排查。
下载
https://valgrind.org/downloads/?src=www.discoversdk.com
安装并进行检测
tar -xvf valgrind-3.17.0.tar.bz2cd valgrind-3.17.0/./configure --prefix=/usr/local/valgrindmakesudo make installvalgrind --tool=memcheck --leak-check=full --show-leak-kinds=all ./example
example 为待检测的程序
类似这种会把泄漏内存从申请的位置打印出来
还会把泄漏出问题的也打印出来
这篇关于linux valgrind 内存检测的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!