![LD_PRELOAD 未使用正确的库](https://linux22.com/image/191609/LD_PRELOAD%20%E6%9C%AA%E4%BD%BF%E7%94%A8%E6%AD%A3%E7%A1%AE%E7%9A%84%E5%BA%93.png)
我正在尝试覆盖可执行文件中的动态链接。
我有一个可执行的“程序”
命令:
ldd program
输出:libstdc++.so.6 => /lib64/libstdc++.so.6
我有一个图书馆a.so:
ldd a.so
输出:libstdc++.so.6 => /mydir/libstdc++.so.6
我尝试通过执行以下操作来覆盖可执行程序中的链接:
setenv LD_PRELOAD a.so
现在,当我运行我的可执行文件时,我得到:
/lib64/libstdc++.so.6: version `GLIBCXX_3.4.21' not found
为什么它要尝试阅读libstdc++.so.6从/lib64/libstdc++.so.6并不是/mydir/libstdc++.so.6