本文只介绍一个实用的linux小命令:mtrace(memory trace), 它能够用来协助定位内存泄露
Linux下测试代码:4_trace.c
#include <stdio.h>
#include<stdlib.h>
int main()
{
setenv("FREE_TRACE", "taoge.log", "1");
mtrace();
int *p =NULL;
free(p);
return 0;
}
编译:gcc 4_trace.c -o 4_trace -g -DDEBUG
因为我代码中没有Debug宏控制, 所以编译时, -DDEBUG是能够省略的,但-g是不能省略的
执行程序:mtrace 4_trace trace.log
出现如下打印:
这只是个简单的例子,了解一下mtrace 的使用情况。