有一个可执行的动态相联系的数量共享的对象。我怎么能确定,他们中的一些符号(进口成为可执行)所属的?

如果有一个以上的可能性,我可以silmulate ld看看从那里正在拍的?

有帮助吗?

解决方案

其他提示

除了的那些查理提到的, “ LDD ” 可能做一些你在找什么。

如果你能重新链接可执行文件,最简单的方法,找出引用和定义来自使用ld -y标志。例如:

$ cat t.c
int main() { printf("Hello\n"); return 0; } 

$ gcc t.c -Wl,-yprintf 
/lib/libc.so.6: definition of printf

如果您不能重新链接的可执行文件,然后在其上运行ldd,然后在按顺序列出的所有库运行'nm -D',并grep你感兴趣的符号。

$LD_DEBUG=bindings my_program

这将打印在控制台上的所有符号绑定。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top