linux程序怎么样做的运行时加载指定动态库?

bandaoyu 2021-03-15 08:51:01
在生产环境上测试库。

生产环境的程序用库 lib_sc.so
我们的测试程序是mypro,现在编了一个库lib_debug.so,我们想在启动一个mypro进程,但是不加载默认的lib_sc.so,而是加载lib_debug.so。

请问怎么样才能实现?有什么命令吗?

...全文
489 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
forever74 2021-03-17
  • 打赏
  • 举报
回复
系统管理员的思路一般是给它扔进一个chroot的孤立环境,然后建立一个原库名的软连接,指向新库名。
bandaoyu 2021-03-17
  • 打赏
  • 举报
回复
引用 1 楼 MISSGYA 的回复:
我觉得可以换一个思路。用patchelf命令,修改你的mypro可执行程序,把它依赖的lib_sc.so,改成lib_debug.so。
nice!! 非常有用
「已注销」 2021-03-17
  • 打赏
  • 举报
回复
-Wl,rpath=/path/to/lib_debug.so
MISSGYA 2021-03-17
  • 打赏
  • 举报
回复
我觉得可以换一个思路。用patchelf命令,修改你的mypro可执行程序,把它依赖的lib_sc.so,改成lib_debug.so。

64,654

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧