【问题标题】:Can we include an .so file LD_PRELOAD inside a file?我们可以在文件中包含一个 .so 文件 LD_PRELOAD 吗?
【发布时间】:2021-08-23 05:12:12
【问题描述】:

我有一个经过编译的文件,可能是用 C 语言编写的。该文件需要一个 .so 文件(库文件)。 C 编译文件名为/usr/local/solar/excusekey.so 库文件为/usr/local/libsolar/libexcuse.so 当我删除/usr/local/libsolar/libexcuse.so 然后我运行/usr/local/solar/excusekey 然后它显示一个错误:

ERROR : ld.so object '/usr/local/libsolar/libexcuse.so' from 
LD_PRELOAD cannot be preloaded: ignored.

但是当我运行 unset LD_PRELOAD 并再次运行 /usr/local/solar/excusekey 时,它会显示相同的错误。

/usr/local/solar/excusekey 是否在其 C 代码中加载该 libexcuse.so 库?还是有别的窍门或方法?

【问题讨论】:

    标签: shared-objects ld-preload


    【解决方案1】:

    /usr/local/solar/excusekey 是否在其 C 代码中加载 libexcuse.so 库?

    excusekey一无所知,我们无法判断。

    可以编写一个应用程序来检查LD_PRELOAD 是否包含所需的库,如果没有,则设置LD_PRELOAD 并重新设置exec 本身。

    这是否是这里发生的事情是任何人的猜测。

    strace -s1024 -fve execve excusekey 下运行应用程序可能会为应用程序正在做什么提供线索。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-08-04
      • 1970-01-01
      • 2013-04-23
      相关资源
      最近更新 更多