1
有沒有一種工具可以讓我跟蹤每個功能分配多少內存?例如所有由malloc
分配的內存在我的add_node
函數被調用時調用,而在queue_buffer
等等中調用的函數等等,用於整個程序運行時。跟蹤每個功能分配多少內存
我想分析使用大量內存的位置。
有沒有一種工具可以讓我跟蹤每個功能分配多少內存?例如所有由malloc
分配的內存在我的add_node
函數被調用時調用,而在queue_buffer
等等中調用的函數等等,用於整個程序運行時。跟蹤每個功能分配多少內存
我想分析使用大量內存的位置。
我不知道有任何計劃要做,但你可以自己做。只需添加這樣的一些全局頭文件:
#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()的調用將被重定向編譯。
是的,我想我還得維護一個列表,如果我想加上每個函數的內存總和,我只是希望類似的東西已經存在。 – user1273684