Closed huso1101 closed 2 years ago
你好,我发现这两个函数,在ApiHook::ApiHook()构造的时候 api 与stub不同,但trampoline却是同样的值。
你好,,我找到原因了,,getTrampoline函数里,计算使用的空间it->used时,,ceil(alloc_size / kAlignmentSize)需要改为ceil((double)alloc_size / kAlignmentSize),除数被除数都是整数类型。修改后mock结果正常。
好的,太感谢了,我提交一下patch
你好,我像上边这样写打印得到的是
=== emockTest: 1 1
我的编译环境是Visual Studio 15 2017 使用的是c++ 11 的标准set(CMAKE_CXX_STANDARD 11)
我单步调试看了一下,调用函数时,这里的api每次都是同一个,都是最后用EMOCK设置的函数的地址。
单步调试时中间有几步提示
加载的模块中为找到当前堆栈
然后就到EMOCK_API_HOOK_FUNCTOR_DEF(1);
后边就。。没太看懂,,我是希望找到invoke里的api是在哪传入的,为什么两次都传入相同的。 希望大佬帮忙看看,thanks。