LINUX内存泄漏工具整理

mtrace

mtrace是glibc的一个内置部分,它允许检测由失衡的malloc/free调用导致的内存泄漏。为了使用它,程序被修改为调用mtrace()和muntrace()来启动和停止对分配的跟踪。将创建一个日志文件,然后可以使用“mtrace”Perl脚本对其进行扫描。“mtrace”程序只列出不平衡的分配。如果源代码可用,它可以显示发生问题的源代码行。McTracle可以用于C和C++程序。

memwatch

memwatch是一个程序,它不仅可以检测malloc和free错误,还可以在分配的空间之外进行读写操作(缓冲区溢出和不足)。要使用它,您需要修改源代码以包含memwatch代码,它为malloc和free提供了替换。
memwatch无法向已释放的地址写入,以及从分配的内存外读取数据。

mpatrol

mpatrol和memwatch类似

dmalloc

dmalloc库被设计成可以直接替换系统的malloc、realloc、calloc、free和其他内存管理例程,同时提供了强大的可在运行时配置的调试工具。这些功能包括内存泄漏跟踪、隔离写后检测、文件/行号报告和一般统计记录。
这个库可以在不修改现有程序的情况下使用,并使用环境变量来控制它的操作和要记录的问题集。
主页位于:http://dmalloc.com/

dbgmem

dbgmem和dmalloc相似但功能较少

valgrind

valgrind提供动态二进制检测来分析程序,并提供大量内存问题检测工具和分析工具。它支持许多不同的架构和平台。
主页:https://www.valgrind.org/

Electric Fence

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值