我正在尝试在 VS2015 中创建一个单元测试项目。该项目已正确构建并运行,直到我尝试创建大型结构的局部变量。
我的代码如下所示:
#include "stdafx.h"
#include "CppUnitTest.h"
using namespace Microsoft::VisualStudio::CppUnitTestFramework;
namespace testTxRxTest11ac
{
TEST_CLASS(UnitTest1)
{
public:
TEST_METHOD(TestMethod1)
{
largeStructure largeStruct;
Assert::IsFalse(false);
}
};
}
当我删除 largeStructure 定义时,测试通过。当我添加 largeStructure 定义时,它失败并出现异常代码:C00000FD。我用谷歌搜索了这段代码,发现它是堆栈溢出。
我试图增加测试项目属性中的堆栈大小(属性 -> 链接器 -> 系统 -> 堆栈保留大小)。
我还尝试在测试代码和 stdafx.cpp 中添加#pragma comment(linker, "/STACK:10000000")。没有任何效果。
您对如何处理此错误有任何其他建议吗?