Memory Leak克星--总结

前言

陆续在知乎上更新了内容,CSDN的使用频率有所下降。欢迎关注勤奋的小牛,分享学习内容。一起学习一起进步!

TCmalloc

TCmalloc(Thread-Caching Malloc) 是 Gperftools 提供的内存分配器(堆分析器),旨在提高多线程程序的内存分配性能。

主要用于:

计算出在任何给定时间程序堆中的内容
定位内存泄漏
找一些做大量分配的地方
分析系统记录所有内存的分配和释放。它跟踪每个分配站点的各种信息。分配位置被定义为调用malloc、calloc、realloc或new时的活动堆栈跟踪。

使用它有三个部分:将库链接到应用程序、运行代码和分析输出。

它有以下特点:

线程局部缓存: tcmalloc 使用线程局部缓存来减小锁竞争,提高并发性能。
高效的内存回收: tcmalloc 采用了一些高效的内存回收策略,减少了内存碎片。
堆栈跟踪: tcmalloc 能够记录分配和释放内存的堆栈跟踪信息,用于后续性能分析。

勤奋的小牛 Gperftools学习

ASan

ASan 是一个快速内存错误检测工具,可以检测堆缓冲区溢出、栈缓冲区溢出、全局缓冲区溢出、使用已释放内存和内存泄漏。AddressSanitizer (ASan) 是一个快速的内存错误检测工具,支持检测堆缓冲区溢出、栈缓冲区溢出、全局缓冲区溢出、使用已释放内存和内存泄漏等问题。下面是一个详细的使用案例,展示如何使用 ASan 检测和修复内存错误。

勤奋的小牛 ASan使用

Valgrind

Valgrind 是一个强大的动态分析工具,可以帮助开发者检测程序中的内存错误和性能问题。它包含多个工具,其中最常用的是Memcheck,用于检测内存泄漏、未初始化的内存访问和无效的内存访问等问题。

勤奋的小牛valgrind学习

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值