内存调试器

源地址:Memory Debuggers

有几种工具可用于查找内存泄漏或用于报告程序的各个内存分配。 这些工具可帮助分析内存使用模式,检测不平衡的分配和释放,报告缓冲区超载和欠载等。

内容:

  1. mtrace
  2. memwatch
  3. mpatrol
  4. dmalloc
  5. dbgmem
  6. valgrind
  7. Electric Fence
  8. Tutorials or Overviews

 

1.mtrace

mtrace是glibc的内置部分,它可以检测由不平衡的malloc / free调用引起的内存泄漏。 为了使用它,程序被修改为调用mtrace()和muntrace()以开始和停止分配跟踪。 创建一个日志文件,然后可以通过“ mtrace” Perl脚本对其进行扫描。 “ mtrace”程序仅列出不平衡的分配。 如果源可用,则可以显示发生问题的源行。 mtrace可以在C和C ++程序上使用。

主页:http://wikipedia.org/wiki/Mtrace

2.memwatch

memwatch是一个程序,它不仅可以检测malloc和释放错误,还可以在分配的空间(缓冲区溢出和不足)之外进行读写操作。 要使用它,您可以修改源以包括memwatch代码,该代码提供malloc和free的替换。

memwatch无法捕获的某些内容是写入已释放的地址,并从分配的内存外部读取数据。

3.mpatrol

mpatrol看起来像memwatch。

可以查看:http://mpatrol.sourceforge.net/

4.dmalloc

“调试内存分配或dmalloc库旨在取代系统的malloc,realloc,calloc,free和其他内存管理例程,同时提供可在运行时配置的强大调试工具。这些工具包括诸如内存泄漏跟踪之类的东西。 ,栅栏后写检测,文件/行号报告和常规统计记录。”

该库可以在不修改现有程序的情况下使用,并使用环境变量来控制其运行以及要记录的问题集。

主页位于:https://dmalloc.com/

5.dbgmem

dbgmem看起来像是另一个动态库替换工具,类似于dmalloc(但功能可能更少)。

主页:http://dbgmem.sourceforge.net/

6.valgrind

valgrind进行动态二进制检测以分析程序,并提供了许多内存问题检测工具和性能分析工具。 它支持许多不同的体系结构和平台。

主页:https://elinux.org/Valgrind

7.Electric Fence

主页:https://elinux.org/Electric_Fence

8.Tutorials or Overviews

嵌入式系统中的内存泄漏检测。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值