Linux 内存泄露检测


1. 需要在内存泄露开始的开始调用void mtrace(void),mtrace 为malloc等函数安装 hook,用于记录内存分配信息,在需要内存泄露检查代码结束的地方调用void muntrace(void). 注意:在一般情况下,不要调用muntrace(), 而让程序自然结束。因为可能有些内存释放代码要到muntrace之后才会运行。

2. 用debug模式编译代码

3. 设置环境变量MALLOC_TRACE为一文件名,这一文件将存有内存分配信息

export MALLOC_TRACE=mem_trace.log

4. 运行被检查程序

5. 用mtrace检查内存分配log文件($MALLOC_TRACE)

例如:如果log文件名为mem_trace,则执行

mtrace mem_trace mem_trace.log

进行测试。

相关内容