gdb:给定一个地址,我可以找到包含它的已分配块吗?

问题描述 投票:0回答:1

例如,有一个分配的块0x10000-0x20000,我得到地址0x15000,我可以得到块的信息(起始地址,大小等)0x15000?或者我可以获得分配的块列表吗?

c gdb
1个回答
1
投票

gdb本身对您的程序可能使用的任何分配器没有任何特殊知识。因此,没有gdb命令来获取此信息。

特别是对于glibc,您可以安装gdb-heap扩展。这是一组Python脚本,它们向gdb添加一些命令以探索堆的内容;它了解glibc malloc实现的工作原理。

我不能轻易找到规范的存储库(Fedora Hosted似乎已经消失)但我确实找到了fork on github。它也包装在一些Linux发行版中;例如Fedora。

© www.soinside.com 2019 - 2024. All rights reserved.