gpt4 book ai didi

linux - Valgrind 和 LD_PRELOAD - 无法预加载对象

转载 作者:IT王子 更新时间:2023-10-29 00:42:23 29 4
gpt4 key购买 nike

我正在尝试运行我的程序,这需要一个库位于LD_PRELOAD 环境变量,带 valgrind。当我这样做时,我得到以下错误:

ERROR: ld.so: object '/path/to/lib/libLIBRARY.so' from LD_PRELOAD cannot
be preloaded: ignored.

但是,如果我要运行程序WITHOUT valgrind,它很乐意使用LD_PRELOADed 库。

为什么会这样?有办法解决吗?

(P.S.系统是64位科学linux 5,我相信)

最佳答案

如果 valgrind 是 64 位的,而共享库和应用程序都是 32 位的,就会发生这种情况。 valgrind 本身无法加载库,但它应该为应用程序本身加载。

编辑:哦,还有...您真的不应该将 LD_PRELOAD 用于您自己的程序所需的库,仅用于调试或覆盖库。相反,在可执行文件中嵌入一个 rpath/runpath。

关于linux - Valgrind 和 LD_PRELOAD - 无法预加载对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7046622/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com