摘要:
mtrace 可以用来检查内存泄漏。 它利用__malloc_hook机制,记录每一个内存分配的调用,在利用gcc的__builtin_return_address 获得函数的调用地址, 生成log文件。最后通过 程序中的调试信息和日志文件找出发生内存泄漏的函数。记住程序编译时要带上调试信息,不然只有地址了。利用LD_PRELOAD机制, 我们可以不需要修改程序就可以跟踪内存泄漏的问题。mtrace.so.cpp#include <mcheck.h> #include <stdlib.h> static void init() __attribute__((constr 阅读全文