是否有工具可以跟踪每个功能分配的内存量?例如调用malloc
函数时add_node
调用的所有内存与queue_buffer
等函数调用的整个运行时间内的所有内存。
我想了解大量内存的使用位置。
答案 0 :(得分:1)
我不知道有任何程序可以随意执行此操作,但您可以自己执行此操作。只需将这样的内容添加到某个全局头文件中:
#ifdef DEBUG
void* __replacement_malloc(size_t bytes, const char* fn_name)
{
printf("Function %s allocated %lu bytes\n", fn_name, bytes);
return malloc(bytes);
}
#define malloc(x) __replacement_malloc(x, __func__)
#endif
现在,当您使用“DEBUG”进行编译时,将重定向对malloc()的任何调用。