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
进行测试。