内存检测工具Valgrind
Posted 张善友
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了内存检测工具Valgrind相关的知识,希望对你有一定的参考价值。
Valgrind是一套Linux下,开放源代码(GPL V2)的仿真调试工具的集合。Valgrind由内核(core)以及基于内核的其他调试工具组成。内核类似于一个框架(framework),它模拟了一个CPU环境,并提供服务给其他工具;而其他工具则类似于插件 (plug-in),利用内核提供的服务完成各种特定的内存调试任务。Valgrind的体系结构如下图所示:
图 1 Valgrind 体系结构
Valgrind包括如下一些工具:
- Memcheck。这是valgrind应用最广泛的工具,一个重量级的内存检查器,能够发现开发中绝大多数内存错误使用情况,比如:使用未初始化的内存,使用已经释放了的内存,内存访问越界等。这也是本文将重点介绍的部分。
- Callgrind。它主要用来检查程序中函数调用过程中出现的问题。
- Cachegrind。它主要用来检查程序中缓存使用出现的问题。
- Helgrind。它主要用来检查多线程程序中出现的竞争问题。
- Massif。它主要用来检查程序中堆栈使用中出现的问题。
- Extension。可以利用core提供的功能,自己编写特定的内存调试工具。
相关文章:
应用 Valgrind 发现 Linux 程序的内存问题
以上是关于内存检测工具Valgrind的主要内容,如果未能解决你的问题,请参考以下文章
开发工具Valgrind内存问题检测工具(valgrind)的使用
开发工具Valgrind内存问题检测工具(valgrind)的使用
开发工具Valgrind内存问题检测工具(valgrind)的使用