C++-LD_PRELOAD

2023-12-17 16:38:40

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

文章来源:https://blog.csdn.net/mrbone11/article/details/135045770
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。