在Visual Studio调试器中查看数组?

时间:2009-06-09 21:06:42

标签: c++ visual-studio arrays view debugging

是否可以在Visual Studio调试器中查看数组? QuickWatch仅显示数组的第一个元素。

5 个答案:

答案 0 :(得分:535)

您可以尝试使用C ++这个不错的小技巧。获取给出数组的表达式,然后附加逗号和要查看的元素数。扩展该值将显示元素0-(N-1),其中N是您在逗号后添加的数字。

例如,如果pArray是数组,请在观察窗口中输入pArray,10

答案 1 :(得分:72)

如果你有一个大型数组并且只想看到数组的一个子部分,你可以在观察窗口中输入它;

ptr+100,10

显示从ptr [100]开始的10个元素的列表。请注意,显示的数组下标将从[0]开始,因此您必须记住ptr [0]实际上是ptr [100]而ptr [1]是ptr [101]等。

答案 2 :(得分:23)

我使用Visual Studio的ArrayDebugView加载项(http://arraydebugview.sourceforge.net/)。

这似乎是一个长期存在的项目(但我正在考虑继续自己)但是在VS2010中,对于C ++和C#,加载项仍然可以很好地为我工作。

它有一些怪癖(Tab键顺序,模态对话框,没有关闭按钮),但能够在图形中绘制数组的内容而不是弥补它。

2014年7月编辑:我最终构建了一个新的Visual Studio扩展来替换ArrayebugView的功能。它可以在VIsual Studio Gallery上找到,搜索ArrayPlotter或转到http://visualstudiogallery.msdn.microsoft.com/2fde2c3c-5b83-4d2a-a71e-5fdd83ce6b96?SRC=Home

答案 3 :(得分:14)

您是否尝试查看动态分配内存的数组?如果没有,您可以通过将它放在调试器的监视窗口中来查看C ++和C#的数组,当您通过鼠标左键单击在监视窗口中的小(+)上展开数组时,其内容可见。 / p>

如果它是指向动态分配的数组的指针,要查看指针的N个内容,请在调试器的监视窗口中键入“pointer,N”。注意,N必须是整数,否则调试器会给出错误,说它无法访问内容。然后,左键单击出现的小(+)图标以查看内容。

答案 4 :(得分:1)

将鼠标光标悬停在数组名称上,然后将鼠标悬停在显示的小(+)图标上。