首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >LD_PRELOAD与MySQL

LD_PRELOAD与MySQL
EN

Stack Overflow用户
提问于 2011-02-05 11:26:38
回答 1查看 513关注 0票数 0

我想知道:使用LD_PRELOAD,我可以覆盖、拦截用C/C++编写的函数。是否有可能拦截用MySQL源代码编写的函数?

例如,我想要一个日志文件,包含所有MySQL连接(出于审计原因)。我将拦截mysql_real_connect() C函数是MySQL源代码,方法如下: LD_PRELOAD=my_intercepting_connect.so mysql

它(理论上)有用吗?有人做过这种事吗?或者类似的?

EN

回答 1

Stack Overflow用户

发布于 2011-02-05 13:02:41

使用LD_PRELOAD,您可以拦截应用程序从共享库中提取的任何符号。您无法拦截不跨越二进制边框的函数调用。因此,当您的应用程序被动态链接到mysql时,您可以拦截mysql_real_connect调用,当应用程序静态链接时,您就倒霉了。另外,您也不能拦截mysql库中的调用。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/4906586

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档