Valgrind Memcheck 一個強大開源的程序檢測工具
下載地址:http://valgrind.org/downloads/current.html
Valgrind快速入門指南:http://valgrind.org/docs/manual/QuickStart.html
安裝
cd valgrind
./autogen.sh
./configure
make
make install
使用
1、編譯你的程序 debug 版本./TestMem
2、執行:valgrind --tool=memcheck --leak-check=full --log-file=./log.txt ./TestMem
mtrace GNU擴展,用來跟蹤malloc,mtrace為內存分配函數(malloc,rellaoc,memalign,free)安裝hook函數
dmalloc 用於檢查C/C++內存泄漏的工具,即是檢查是否存在程序運行結束還沒有釋放的內存,以一個運行庫發布
memwatch 和dmalloc一樣,它能檢測未釋放的內存、同一段內存被釋放多次、位址存取錯誤及不當使用未分配之內存區域
mpatrol 一個跨平台的 C++ 內存泄漏檢測器
dbgmem 也是一個動態庫發布的形式,優點類似dmalloc,但是相比之下,可能特點少了一些
Electric Fence 不僅僅能夠跟蹤malloc()和free(),同時能夠檢查讀訪問以及寫入,能夠准確指出導致錯誤的指令
【參考資料】
介紹 Valgrind Memcheck https://www.cnblogs.com/cnjy/p/4484951.html
Linux 下幾款程序內存泄漏檢查工具 https://blog.csdn.net/youbingchen/article/details/52002778