给定函数或变量运行时地址,我的代码需要找出名称,如果是变量,则键入符号的信息.或至少提供足够的信息,以便以后离线提取名称(和类型信息).
这是Linux代码,假设调试信息可用.
我试着研究ELF文件格式,binutils以及除了主题之外的所有内容都是巨大的,所以我希望有人可以帮我缩小范围.
我可以看到以下类型的解决方案:
找到当前加载到内存中的模块的代码/数据段的范围 - 怎么做?将地址的模块和段名称和偏移量保存在其段中.离线然后使用binutils在模块的调试信息中找到符号 - 再次,如何做?
使用一些我不知道的API /系统服务在运行时找到符号和信息 - 如何?
先感谢您.