C++ C++;用于调试的已编译库的钩子函数

C++ C++;用于调试的已编译库的钩子函数,c++,windows,debugging,64-bit,hook,C++,Windows,Debugging,64 Bit,Hook,出于调试目的,我们希望在每次调用时获取编译库中某个函数的参数。我知道我可以重新编译库,但对于某些库(例如Qt),可能需要半天的时间 在编译库中考虑此函数 class SomeClass { public: static QString getUpper(const QString &str); }; 从库中包含此SomeClass的程序 void printArguments(const QString &str) { qDebug() << str

出于调试目的,我们希望在每次调用时获取编译库中某个函数的参数。我知道我可以重新编译库,但对于某些库(例如Qt),可能需要半天的时间

在编译库中考虑此函数

class SomeClass
{
public:
    static QString getUpper(const QString &str);
};
从库中包含此SomeClass的程序

void printArguments(const QString &str)
{
    qDebug() << str; //here we print argument
}

int main()
{
    //function that I need
    hookFunction((void*)&SomeClass::getUpper, (void*)&printArguments);
    SomeClass::getUpper("Hi"); // here I will see "Hi" in console
}
void打印参数(常量QString&str)
{
qDebug()我找到了解决方案

这是我想要的