如何在Visual Studio 2010中查看二维数组的所有元素?

时间:2012-05-10 14:57:51

标签: c++ visual-studio-2010 debugging

我正在Visual Studio 2010中调试我的c ++代码,并希望查看我的数组的内容,比如Q,即17x17。当我插入断点并尝试调试时,我只看到变量“Q”。当我把它带到“观看”屏幕并将其重命名为“Q,17”时,我看到了一个等级。

但我也希望看到其他方面。我不能写“Q,17,17”。什么是正确的命令?

谢谢...

4 个答案:

答案 0 :(得分:20)

你不能,至少不能直接。

您可以做的是将&array[0][0]放入内存窗口,然后调整其大小,使列数匹配array数据的一行。

或者,您可以将array[0],17放入观察窗口,然后重复array[1],17等。

不是你正在寻找的答案,但观看窗口虽然功能强大,却无法做你想做的事。

答案 1 :(得分:2)

如果您想以更加图形化的方式查看以2D格式组织的值,可以尝试Array Visualizer extension。它适用于小型多维数组。

这是一个免费的开源扩展程序,可以通过MarketPlace下载。它旨在在调试应用程序时显示数组。有视觉工作室 2010 ,2012年,2013年和2015年的版本,不幸的是它似乎没有更新到2017年。

答案 2 :(得分:0)

将数组Q放到全局范围,您可以看到它的所有元素(如果它是本地数组,您可以复制到全局数组并在全局数组上操作):

public void validateInventoryMeasurement(string Data, string itemStatus)
{
   var actual = 
   var expected =

   Assert.AreEqual(, actual);
   Console.WriteLine("Assertion pass");
}

在调试并验证算法后,您可以根据需要使用本地数组

答案 3 :(得分:0)

可以直接查看静态分配的全局内存或局部变量

我没有找到在 VS2010 中查看动态分配的二维数组(只有一维)的方法。 VS2019可以, 通过

double ** a;
a = (double**)malloc(5 * sizeof(double*));
a[0]=(double*)malloc(10 * sizeof(double));
...

(double(*)[10]) a[0],5(在观察窗口中添加)

image

这里的这个也能用 (double(**)[10])a,5