本文主要是介绍C++-LD_PRELOAD,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
LD_PRELOAD是linux上的一个环境变量,作用是在程序启动前先加载这个动态链接库(无论程序本身是否需要)。使用场景通常是我们已经有一个release版本的动态库,此时我们想要调试动态库中的内容,又或者我们有一个v1版本的动态库,此时想测试v2版本的动态库,此时有几种方法:
- 直接debug版本替换release版本动态库,此时程序运行就会使用debug版本动态库
- 使用LD_LIBRARY_PATH,查看其路径顺序,设置debug版本的路径在原本release版本的路径之前,这样也可以工作
- 使用LD_PRELOAD
export LD_PRELOAD=/path/to/shared_library.so
binary arg1 arg2
// 或者
LD_PRELOAD=/path/to/shared_library.so && binary arg1 arg2
这篇关于C++-LD_PRELOAD的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!