C++ 调试器';s watch窗口将变量值显示为零,但它们不是零

C++ 调试器';s watch窗口将变量值显示为零,但它们不是零,c++,visual-studio-2010,visual-studio,mfc,C++,Visual Studio 2010,Visual Studio,Mfc,我有静态分配的结构。它有两个数组。当我看到这些数组的值时,会显示它们,但所有值都为零(0)。当我将此数组设置为文件时,值是正确的,但是如果我同时在调试器中查看这些值,则值显示为零。我使用TRACE在输出窗口上打印值,这也是正确的 因此,程序正确地执行了所有计算,但调试器显示变量的值均为零。我使用VS2010和C++。有办法解决吗 p、 我尝试过其他解决方案,比如在调试器中键入array\u name、number,但这对我也不起作用。无法重现您的问题。变量在watch中显示正确的值,无论是在ma

我有静态分配的结构。它有两个数组。当我看到这些数组的值时,会显示它们,但所有值都为零(0)。当我将此数组设置为文件时,值是正确的,但是如果我同时在调试器中查看这些值,则值显示为零。我使用TRACE在输出窗口上打印值,这也是正确的

因此,程序正确地执行了所有计算,但调试器显示变量的值均为零。我使用VS2010和C++。有办法解决吗


p、 我尝试过其他解决方案,比如在调试器中键入array\u name、number,但这对我也不起作用。

无法重现您的问题。变量在watch中显示正确的值,无论是在main中还是在数组作为参数传递时?@C.Lang我怀疑它不能在简单的项目中重现。在我的例子中,该结构是应用程序类(MFC)的一部分,还有许多其他结构。这个结构也作为指针传递(不要问y,不是我的代码!)我确实在函数中创建了一个简单的测试数组,并将该数组复制到其中,希望该数组能正确显示值,但即使在新数组中,它仍然不能正确显示值;memcpy(dbgSubPwr,record->m_pwSubPwr,sizeof(WORD)*COUNT)我怀疑堆栈已达到极限,也许这就是原因?但它在任何地方都有记录吗?调试的乐趣。以前从未出现过您的问题,但我不太使用MFC。。(又名,我像躲避死亡瘟疫一样躲避它)。堆栈大小是有限的,如果您超过了它,您将得到一个严重的错误,您不会报告。@johnathon这更像是使用microsoft产品的乐趣!