3

我有一个应用程序(我没有源代码)。

我知道它旨在根据命令行参数动态加载共享库。

我知道它应该加载哪个库,并且我已将 LD_LIBRARY_PATH 设置到适当的目录。

该应用程序在一台服务器上运行没有任何问题,但不能在另一台服务器上运行。

我试图找出原因,如果我可以确认脚本正在寻找我认为它是的库并且我可以跟踪它在哪里寻找,这将是有帮助的。

有什么工具可以帮助我吗?我一直在谷歌搜索,但我发现的大部分信息ldd实际上只告诉你关于静态链接库的信息。

这是在 Linux 环境中,应用程序和库都是用 C 编写的

谢谢

4

2 回答 2

3

使用strace. 您将看到正在搜索的库等,这将帮助您了解正在发生的事情。

于 2010-09-24T18:41:59.440 回答
0

由于每个共享库都被内存映射到进程的地址空间,因此您还可以检查 /proc/[PID]/maps 文件。

于 2010-09-24T18:57:38.743 回答