我正在使用 Doug Lea 的 malloc.c(在 Linux x86_64 下)进行一些黑客攻击,我需要找到最低分配地址和最高分配 block 的高端地址——换句话说,边界分配的内存——当然不包括 mspace 的 struct malloc_state 簿记结构。我怎样才能得到这些地址?请注意,我不是在寻找整个堆的边界,而只是寻找已分配部分的边界,这通常包括最低和最高分配 block 之间的未分配“空洞”。我一直在使用 malloc_state 结构的 least_addr 和 top 字段。它是否正确?谢谢!
最佳答案
据我了解,这应该可行。 Malloc 使用这些值来定义它可以分配内存的位置。
这里是一个 malloc 实现,它可能有助于回答你的问题。
关于c - 使用 malloc.c 的堆分配内存边界,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4996118/