例如,有一个分配的 block 0x10000-0x20000,我得到地址0x15000,我可以通过0x15000获取该 block 的信息(起始地址、大小等)吗? 或者我可以获得分配的 block 列表?
最佳答案
gdb 本身对程序可能使用的分配器没有任何特殊的了解。因此,没有 gdb 命令来获取此信息。
特别是对于 glibc,您可以安装 gdb-heap
扩展。这是一组Python脚本,向gdb添加一些命令以探索堆的内容;它了解 glibc malloc
实现的工作原理。
我无法轻易找到规范存储库(Fedora Hosted 似乎已经消失),但我确实找到了 fork on github 。它也被打包在一些 Linux 发行版中;例如 Fedora。
关于c - gdb:给定一个地址,我能找到包含它的分配 block 吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48094713/