代码之家  ›  专栏  ›  技术社区  ›  Dancrumb

如何跟踪应用程序动态加载的库?

  •  3
  • Dancrumb  · 技术社区  · 14 年前

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

    我知道它是为动态加载共享库而设计的,这取决于命令行参数。

    我知道应该加载哪个库,我已经设置了指向相应目录的ld_library_路径。

    应用程序在一台服务器上工作没有任何问题,但在另一台服务器上不工作。

    我正在试图找出原因,如果我能确认脚本正在查找我认为是的库,并且我能跟踪它在查找的位置,这将是很有帮助的。

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

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

    谢谢

    2 回复  |  直到 14 年前
        1
  •  3
  •   rmk    14 年前

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

        2
  •  0
  •   zvrba    14 年前

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