内存泄露

如何知道内存泄漏了?

  1. hook函数

定义malloc/free 或者new/delete 的hook函数,在c语言中使用dlsym。

  • 一些小技巧:如何知道是哪一行分配了资源?
    1
    2
    //编译器自带的
    __builtin_return_address();
    再使用address2line
1
address2line -fe xxxxx
  1. 使用宏定义或者重载
1
#define malloc_hook(size) malloc(size)

这种方式只能定义在一个文件中,第一种方法可以在全局使用。