C++ C++;用于调试的已编译库的钩子函数
出于调试目的,我们希望在每次调用时获取编译库中某个函数的参数。我知道我可以重新编译库,但对于某些库(例如Qt),可能需要半天的时间 在编译库中考虑此函数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
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()我找到了解决方案
这是我想要的