除了查看GDB源代码,我在哪里可以找到有关创建核心文件所使用的格式的文档?
ELF 规范留下了核心文件格式的开放性,因此我认为这应该是GDB规范的一部分!遗憾的是,我没有在GNU的GDB文档中找到任何相关帮助。
这是我正在尝试做的事情:将虚拟地址映射到组成运行进程的可执行文件/库中的函数名称。为了做到这一点,我首先想从核心文件中找出从虚拟地址空间到可执行文件/库名称的映射,然后深入相关文件以获取符号信息。
现在,“readelf -a core”告诉我,核心文件中几乎所有的段都是“load”类型--我猜这些是来自所有参与文件的 .text 和 .bss/.data 段,以及一个栈段。除了这些加载段外,还有一个注释段,但它似乎并不包含映射信息。那么如何在核心文件中存储有关段对应的文件的信息呢?这些“load”段是否按特定方式格式化以包括文件信息?