C++-LD_PRELOAD

LD_PRELOAD是linux上的一个环境变量,作用是在程序启动前先加载这个动态链接库(无论程序本身是否需要)。使用场景通常是我们已经有一个release版本的动态库,此时我们想要调试动态库中的内容,又或者我们有一个v1版本的动态库,此时想测试v2版本的动态库,此时有几种方法:

  1. 直接debug版本替换release版本动态库,此时程序运行就会使用debug版本动态库
  2. 使用LD_LIBRARY_PATH,查看其路径顺序,设置debug版本的路径在原本release版本的路径之前,这样也可以工作
  3. 使用LD_PRELOAD
export LD_PRELOAD=/path/to/shared_library.so
binary arg1 arg2
// 或者
LD_PRELOAD=/path/to/shared_library.so && binary arg1 arg2

相关推荐

  1. <span style='color:red;'>C</span>

    C

    2023-12-18 06:00:05      26 阅读
  2. <span style='color:red;'>C</span>++--

    C++--

    2023-12-18 06:00:05      12 阅读
  3. C++

    2023-12-18 06:00:05       8 阅读
  4. ccccc‘cccccccccccc‘ccc

    2023-12-18 06:00:05       16 阅读
  5. CC++,C# 的区别

    2023-12-18 06:00:05       33 阅读

最近更新

  1. TCP协议是安全的吗?

    2023-12-18 06:00:05       14 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2023-12-18 06:00:05       16 阅读
  3. 【Python教程】压缩PDF文件大小

    2023-12-18 06:00:05       15 阅读
  4. 通过文章id递归查询所有评论(xml)

    2023-12-18 06:00:05       18 阅读

热门阅读

  1. android 源码编译android 12

    2023-12-18 06:00:05       48 阅读
  2. Linux 系统开机启动流程

    2023-12-18 06:00:05       31 阅读
  3. 常用登录加密之Shiro与Spring Security的使用对比

    2023-12-18 06:00:05       28 阅读
  4. 大数据之旅-问题反思

    2023-12-18 06:00:05       44 阅读
  5. 复杂指针的声明

    2023-12-18 06:00:05       34 阅读
  6. 安装Docker

    2023-12-18 06:00:05       46 阅读
  7. 测试:Selenium相关问题

    2023-12-18 06:00:05       33 阅读