是否可以在Visual Studio调试器中查看数组?QuickWatch只显示数组的第一个元素。
当前回答
如果你有一个大数组,只想看到数组的一个分段,你可以把这个输入到观察窗口;
ptr+100,10
显示从ptr[100]开始的10个元素的列表。注意显示的数组下标将从[0]开始,所以你必须记住ptr[0]实际上是ptr[100], ptr[1]是ptr[101]等等。
其他回答
我使用Visual Studio的ArrayDebugView插件(http://arraydebugview.sourceforge.net/)。
这似乎是一个长期死亡的项目(但一个我正在寻找继续自己),但插件仍然为我在VS2010中为c++和c#工作得很漂亮。
它有一些怪癖(制表符顺序,模态对话框,没有关闭按钮),但能够在图形中绘制数组的内容远远弥补了这一点。
编辑2014年7月:我终于构建了一个新的Visual Studio扩展来取代ArrayebugView的功能。它可以在VIsual Studio Gallery中获得,搜索ArrayPlotter或访问http://visualstudiogallery.msdn.microsoft.com/2fde2c3c-5b83-4d2a-a71e-5fdd83ce6b96?SRC=Home
如果你有一个大数组,只想看到数组的一个分段,你可以把这个输入到观察窗口;
ptr+100,10
显示从ptr[100]开始的10个元素的列表。注意显示的数组下标将从[0]开始,所以你必须记住ptr[0]实际上是ptr[100], ptr[1]是ptr[101]等等。
你可以在c++中尝试这个小技巧。取给出数组的表达式,然后附加一个逗号和要查看的元素数。展开该值将显示元素0-(N-1),其中N是在逗号后添加的数字。
例如,如果数组是pArray,则在监视窗口中键入pArray,10。
将鼠标光标悬停在数组的名称上,然后悬停在出现的小(+)图标上。
您正在尝试查看动态分配内存的数组吗?如果没有,您可以通过将c++和c#数组放入调试器的监视窗口中来查看它,当您通过鼠标左键单击监视窗口中的小(+)展开数组时,可以看到它的内容。
如果它是指向动态分配数组的指针,要查看指针的N个内容,请在调试器的监视窗口中键入“指针,N”。注意,N必须是整数,否则调试器将给您一个错误,表示它无法访问内容。然后,左键单击显示内容的小(+)图标。
推荐文章
- 解析c++中的命令行参数?
- 我如何在c++中创建一个随机的字母数字字符串?
- c++中的atan和atan2有什么区别?
- Microsoft Visual Studio的推荐插件
- 现代c++能让你免费获得性能吗?
- 一门语言是如何自我扩展的?
- 如何使用cmake创建共享库?
- c++11返回值优化或移动?
- Windows和Linux上的c++编译:ifdef开关
- Eclipse调试器总是阻塞在ThreadPoolExecutor上,没有任何明显的异常,为什么?
- 比较JUnit断言中的数组,简洁的内置方式?
- 数组到哈希Ruby
- Visual Studio: ContextSwitchDeadlock
- c++中size_t和int的区别是什么?
- Visual Studio:如何打破处理异常?