来自博主:https://blog.csdn.net/u014717036/article/details/50762252
valgrind通常用来成分析程序性能及程序中的内存泄露错误
Valgrind工具集简绍
Valgrind包含下列工具:
1 memcheck:检查程序中的内存问题,如泄漏、越界、非法指针等。
最常用的工具,用来检测程序中出现的内存问题,所有对内存的读写都会被检测到,一切对malloc、free、new、delete的调用都会被捕获;
-
对未初始化内存的使用;
-
读/写释放后的内存块;
-
读/写超出malloc分配的内存块;
-
读/写不适当的栈中内存块;
-
内存泄漏,指向一块内存的指针永远丢失;
-
不正确的malloc/free或new/delete匹配;
-
memcpy()相关函数中的dst和src指针重叠。
2 callgrind:检测程序代码的运行时间和调用过程,以及分析程序性能。
3 cachegrind:分析CPU的cache命中率、丢失率,用于进行代码优化。
4 helgrind:用于检查多线程程序的竞态条件。
5 massif:堆栈分析器,指示程序中使用了多少堆内存等信息。
这几个工具的使用是通过命令:valgrand –tool=name 程序名来分别调用的,当不指定tool参数时默认是 –tool=memcheck