获得malloc内存块的大小?

时间:2011-08-23 18:03:26

标签: linux malloc

有些Linux代码在100个地方调用malloc,我需要知道任何一个块有多大。 通常我只是在my_malloc函数中记录这些大小,但在这种情况下我不允许这样做。有没有办法让malloc子系统为malloc指针提供块大小?

3 个答案:

答案 0 :(得分:3)

最好的办法是使用LD_PRELOAD trick来拦截对malloc的调用(定义{{​​3}})。您甚至不需要重新编译源代码。

根据您要发现的内容,here也可能有用。

答案 1 :(得分:1)

*((size_t *)ptr - 1) & ~7

/我介绍。

答案 2 :(得分:0)

不幸的是,没有办法做到这一点。