当前位置: 首页 > 工具软件 > Valgrind > 使用案例 >

valgrind 工具使用

越涛
2023-12-01

内存泄漏检查:
Linux检测程序内存泄漏
1.安装valgrind:
Valgrind是一款用于内存调试、内存泄漏检测以及性能分析、检测线程错误的软件开发工具。mtrace为内存分配函数(malloc, realloc, memalign,free)安装hook函数。这些hook函数记录内存的申请和释放的trace信息。

Valgrind详解:

Valgrind包括以下一些工具:

1.Memcheck:这是valgrind应用最广泛的工具,一个重量级的内存检查器,能够给发现开发中绝大多数的内存错误使用的情况,比如:使用未初始化

2.callgrind:它主要用来检查程序中函数中调用过程中出现的问题

3.cachegrind:它主要用来检查程序中缓存使用出现的问题

4.Helgrind:它主要用来检查多线程中出现的竞争问题

5.Massif:它主要用来检查程序中堆栈使用中出现的问题

6.Extension:可以使用core提供的 功能,自己编写特定的内存调试工具

2.mtrace命令

man 3 mtrace 可以在man 手册中查看该函数

mtrace 也有对应的命令,其使用方式为:
一.将环境变量MALLOC_TRACE设置为所需输出文件的路径名

二.在需要检测的源代码中引入mcheck.h头文件
1.在分配内存之前调用mtrace(); ,一般在main函数的开头调用
2.在结束检测的地方调用muntrace(); ,一般在return之前调用
3.编译程序时需要加上-g 选项

   #include <stdio.h>
   #include <ma
 类似资料: