【发布时间】:2013-08-11 07:23:31
【问题描述】:
我想找到一些外部符号,由一个共享库 (.so) 在另一个共享库 (.so) 中使用。我可以轻松跑
nm -D ./lib_the_one.so
并通过grep获取使用的符号列表,例如'U'(未定义的符号):
U The_external_symbol
现在我想知道,在整个库“lib_the_one.so”中(静态)存在多少个符号的用法。更准确地说,
- 某些外部函数有多少直接调用
- 外部变量被引用了多少次
例如,我想知道我的“lib_the_one.so”中有 10 个函数调用了 calloc,其中 5 个函数调用了 malloc。
如何使用 nm、objdump 或任何其他实用程序 binutils(我的操作系统是 Linux)来做到这一点?
【问题讨论】:
标签: linux shared-libraries binutils nm