gdb:给定一个地址,我可以找到包含它的已分配块吗?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了gdb:给定一个地址,我可以找到包含它的已分配块吗?相关的知识,希望对你有一定的参考价值。
例如,有一个分配的块0x10000-0x20000,我得到地址0x15000,我可以得到块的信息(起始地址,大小等)0x15000?或者我可以获得分配的块列表吗?
答案
gdb本身对您的程序可能使用的任何分配器没有任何特殊知识。因此,没有gdb命令来获取此信息。
特别是对于glibc,您可以安装gdb-heap
扩展。这是一组Python脚本,它们向gdb添加一些命令以探索堆的内容;它了解glibc malloc
实现的工作原理。
我不能轻易找到规范的存储库(Fedora Hosted似乎已经消失)但我确实找到了fork on github。它也包装在一些Linux发行版中;例如Fedora。
以上是关于gdb:给定一个地址,我可以找到包含它的已分配块吗?的主要内容,如果未能解决你的问题,请参考以下文章
使用 FileProvider 加载照片导致 java.lang.IllegalArgumentException:无法找到包含的已配置根