有些Linux代码在100个地方调用malloc,我需要知道任何一个块有多大。 通常我只是在my_malloc函数中记录这些大小,但在这种情况下我不允许这样做。有没有办法让malloc子系统为malloc指针提供块大小?
答案 0 :(得分:3)
最好的办法是使用LD_PRELOAD trick来拦截对malloc的调用(定义{{3}})。您甚至不需要重新编译源代码。
根据您要发现的内容,here也可能有用。
答案 1 :(得分:1)
*((size_t *)ptr - 1) & ~7
/我介绍。
答案 2 :(得分:0)
不幸的是,没有办法做到这一点。