Valgrind是Linux上非常有用的开源编程工具,主要用于C和C++代码的内存调试、内存泄漏检测和性能分析。创始作者Julian Seward(现为Mozilla工程师,博客地址)因此获得2006年的开源大奖。较新版本也支持OS X和Android。
Valgrind包括一组工具,比较常用的有:
- 内存错误检测器Memcheck
- 缓存和分支预测分析器Cachegrind
- 生成调用图的缓存分析器Callgrind
- 线程错误检测器Helgrind
- 另一种线程错误检测器DRD
- 堆分析器Massif
- 另一种堆分析器DHAT
- 检测栈和全局数组多用的工具SGcheck
- 块向量生成器BBV
3.9.0的新版发布说明:http://valgrind.org/docs/manual/dist.news.html
HN上的讨论主要集中在几点:
- 吐槽仅支持OS X的上一个版本10.8,还是部分支持 [1]
- 比较好的学习资料是官方教程和Zed Shaw的C语言书(尤其是这一部分) [2]
- 有人提到AddressSanitizer比Valgrind更好 [3]
CSDN CTO俱乐部成员付晓满之前写过Valgrind用户手册,虽然有点老了,但大体仍具有很高参考价值。