我有一个要求,我需要使用GTest / GMock模拟非虚函数。所以,我已经包装了该函数并将其链接到测试套件“tst_def”文件中。对于包装函数,通过引用传递整数,当我将包装函数内的任何值设置为此整数时,测试套件在执行期间“崩溃并导致内存损坏”(分段错误)。
重要观察:
当我在包装函数中为该整数设置相同的默认值时,如果在创建期间为其分配了相同的默认值,但仅在我指定任何其他值时崩溃,则不会发生此崩溃。
修改:
考虑一下,传递给这个包装函数的value1的初始值为0。
extern "C" {
int __wrap_function(int &value1)
{
value1 = 3; //crashes
value1 = 0; //didnt crash
return 0;
}
}