Rob*_*ble 15
您可以使用ltrace跟踪对malloc/free的调用:
#include <stdlib.h>
int main (void)
{
void *ptr = malloc(10);
free(ptr);
return 0;
}
$ g++ test.cpp -o test
$ ltrace -e malloc,free ./test
malloc(10) = 0x804a008
free(0x804a008) = <void>
+++ exited (status 0) +++
Run Code Online (Sandbox Code Playgroud)
要在不重新编译的情况下跟踪新的/删除调用,您可能需要使用类似LD_PRELOAD的内容来覆盖使用您自己的版本的调用,这正是LeakTracer可以执行您想要的操作.