0
デバッグの目的で、各呼び出しでコンパイルされたライブラリの関数の引数を取得したい。私はライブラリを再コンパイルすることができますが、一部のライブラリ(例えばQtなど)では半日かかる場合があります。デバッグ用にコンパイルされたライブラリのC++フック関数
は、この関数を考えてみましょライブラリ
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
}
からこの工assを含んでコンパイルされたライブラリ
class SomeClass
{
public:
static QString getUpper(const QString &str);
};
プログラムに私はいくつかのsimilar questionを発見したが、私は、DLLインジェクションを必要とし `tを。これはライブラリを含む私のプログラムです。