267

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

4

5 回答 5

623

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

例如,如果pArray是数组,则pArray,10在监视窗口中键入。

于 2009-06-09T21:10:11.353 回答
92

如果您有一个大数组并且只想查看数组的一部分,您可以在监视窗口中键入它;

ptr+100,10

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

于 2012-11-19T16:21:59.223 回答
25

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

这似乎是一个早已死去的项目(但我正在考虑继续自己的项目),但该插件在 VS2010 中对于 C++ 和 C# 仍然可以很好地工作。

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

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

于 2012-11-14T04:02:13.940 回答
19

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

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

于 2009-06-09T21:12:56.730 回答
-1

将鼠标光标悬停在阵列名称上,然后将鼠标悬停在出现的小 (+) 图标上。

于 2009-06-09T21:10:22.677 回答