编译库的C 挂钩函数用于调试
C++ hook function of compiled library for debugging
用于调试目的,希望在每个呼叫上获得编译库中的某些功能的参数。我知道我可以重新编译库,但是某些库可能需要一半的一天(例如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
}
我发现了一些类似的问题,但是我不需要注射DLL。这是我的程序,包括库。
我找到了解决方案
这个库(polyhook)做我想做的。
相关文章:
- (此函数用于计算 SMA).在 FA.exe 中0x00509159引发异常: 0xC0000005:访问冲突读取位置0
- cv2有什么区别.StereoSGBM_create() 和 cv2.StereoBM_create() 函数用于 Op
- 模板 ctor 类型推导不起作用(没有匹配的构造函数用于初始化 ...)与函数<>参数
- Qt中是否有QLabel::setScaledContent等效函数用于QGraphicsScene?
- 递归函数用于计算 n 个数字之和的意外输出
- 替换(或重新实现?)std::函数用于某些统计和测试
- 如何将成员函数用于同一类的不同对象
- 为什么lambda函数用于stl函数,例如sort(),c 中的max_element()函数以两个参数为输入
- 如何在 Cython 中将C++中的模板化函数用于两种类型
- 编译库的C 挂钩函数用于调试
- 在已发布的结构中添加构造函数(用于 memcpy)是否安全?
- 没有匹配的构造函数用于初始化模板化类的构造函数
- C 无匹配函数用于呼叫错误(默认为参考通过)
- 没有匹配函数用于调用 std::transform,未解析的重载函数类型
- 函数用于随机数(C++11)
- 是否有一个函数用于遍历POSIX环境变量
- “没有匹配的构造函数用于初始化”与矢量
- 函数用于C样式字符串和C++std::string
- 有选择地内联函数(用于调试目的)
- 两个模板函数用于两种标准类型