3

我正在寻找一种方便的方法(用于构建测试脚本)来查询目标文件中的单个符号。是否有工具可以回答问题(最好通过其退出状态)“文件 Y 中是否存在符号 X?” 还是我只需要解析输出nm(1),例如使用 grep 和适当的正则表达式?如果这样的工具可以提供有关符号的详细信息(大小、类型、值......),那就更好了。

4

2 回答 2

5

对于可执行/共享库,请查看readelfObjdump,它们可以转储二进制符号(损坏或未损坏),您应该能够 grep。

它们的源代码很容易获得,因此您可以将它们简化为更简单的工具来完成手头的任务,或者直接导入它们的代码库(不是您真正需要的,您可以只加载有问题的二进制文件dlopen并使用它dlsym来检查是否符号在那里)。

Objdump 面向二进制文件, nm和 readelf 将读取 elf 目标文件。

于 2012-02-28T15:43:08.633 回答
0

您可以libbfd直接使用,但是通过 API 浏览一下,如何直接获取您想要的信息并不明显。

于 2012-02-28T15:44:25.423 回答