在GMock Wrap函数中设置值时内存损坏

时间:2012-12-03 09:26:39

标签: c++ googletest gmock

我有一个要求,我需要使用GTest / GMock模拟非虚函数。所以,我已经包装了该函数并将其链接到测试套件“tst_def”文件中。对于包装函数,通过引用传递整数,当我将包装函数内的任何值设置为此整数时,测试套件在执行期间“崩溃并导致内存损坏”(分段错误)。

重要观察:
 当我在包装函数中为该整数设置相同的默认值时,如果在创建期间为其分配了相同的默认值,但仅在我指定任何其他值时崩溃,则不会发生此崩溃。

修改

考虑一下,传递给这个包装函数的value1的初始值为0。

extern "C" {
int __wrap_function(int &value1)
{
    value1 = 3; //crashes
    value1 = 0; //didnt crash
    return 0;
}
}

0 个答案:

没有答案