使用LD_PRELOAD拦截c ++类构造函数

时间:2014-10-07 20:09:46

标签: c++ constructor ld-preload

我跟着this example拦截了一个类中的C ++函数。

但是现在我想拦截类的构造函数和析构函数,而不仅仅是成员函数。

在示例中,他执行typedef unsigned int (Foo::*methodType)() const;。我不认为你可以在c ++中输入构造函数/析构函数。

我该怎么做?

1 个答案:

答案 0 :(得分:1)

我试过了 typedef void (QDBusConnection::*MyFunction)();并且它有效,我可以用(this->*origMethod)();来调用它,即使origMethod是一个析构函数并且没有返回说明符。

我在这里编写了关于如何拦截析构函数和静态类函数的步骤

http://www.osletek.com/learning-center/150/Intercepting_C%2B%2B_functions_using_LD_PRELOAD