我有一个静态链接的应用程序二进制文件,它链接到多个用户库和 pthread 库。该应用程序仅使用这些库中的一组有限的函数。从上一篇文章库和可执行文件的大小以及我的实验中,我意识到链接器仅包含使用/需要的函数(在可执行文件中),而不是库的全部内容。
我想找出每个库中的哪些函数链接到可执行文件及其地址(VMA)。最终,我想编译一个列表,其中包含基于映射到文本段的函数(在库中)的每个库的开始和结束虚拟内存地址 (VMA)。
一种方法是在库中创建一个函数列表,然后在可执行文件中查找每个函数以及它映射到的相应虚拟内存地址。但这对我来说似乎相当乏味。有没有更简单的方法来实现这一点?谢谢。