linux – Valgrind和LD_PRELOAD – 对象无法预加载
发布时间:2020-12-13 23:22:15 所属栏目:Linux 来源:网络整理
导读:我正在尝试运行我的程序,这需要一个库 LD_PRELOAD环境变量,带valgrind.当我这样做时,我得到了 以下错误: ERROR: ld.so: object '/path/to/lib/libLIBRARY.so' from LD_PRELOAD cannotbe preloaded: ignored. 但是,如果我要运行没有valgrind的程序,它很乐意
我正在尝试运行我的程序,这需要一个库
LD_PRELOAD环境变量,带valgrind.当我这样做时,我得到了 以下错误: ERROR: ld.so: object '/path/to/lib/libLIBRARY.so' from LD_PRELOAD cannot be preloaded: ignored. 但是,如果我要运行没有valgrind的程序,它很乐意使用 为什么会这样?有没有办法解决它? (P.S.系统是64位科学linux 5,我相信) 解决方法
如果valgrind是64位,并且共享库和应用程序都是32位,则会发生这种情况. valgrind本身无法加载库,但它应该为应用程序本身加载.
编辑:哦,并且……你真的不应该将LD_PRELOAD用于你自己的程序所需的库,只用于调试或覆盖库.而是在可执行文件中嵌入rpath / runpath. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |