Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
我正在寻找一种方便的方法(用于构建测试脚本)来查询目标文件中的单个符号。是否有工具可以回答问题(最好通过其退出状态)“文件 Y 中是否存在符号 X?” 还是我只需要解析输出nm(1),例如使用 grep 和适当的正则表达式?如果这样的工具可以提供有关符号的详细信息(大小、类型、值......),那就更好了。
nm(1)
对于可执行/共享库,请查看readelf或Objdump,它们可以转储二进制符号(损坏或未损坏),您应该能够 grep。
它们的源代码很容易获得,因此您可以将它们简化为更简单的工具来完成手头的任务,或者直接导入它们的代码库(不是您真正需要的,您可以只加载有问题的二进制文件dlopen并使用它dlsym来检查是否符号在那里)。
dlopen
dlsym
Objdump 面向二进制文件, nm和 readelf 将读取 elf 目标文件。
您可以libbfd直接使用,但是通过 API 浏览一下,如何直接获取您想要的信息并不明显。
libbfd