当前位置:  开发笔记 > 编程语言 > 正文

如何在Visual Studio调试器中显示动态分配的数组?

如何解决《如何在VisualStudio调试器中显示动态分配的数组?》经验,为你挑选了5个好方法。

如果您有一个静态分配的数组,Visual Studio调试器可以轻松显示所有数组元素.但是,如果您有一个动态分配并由指针指向的数组,那么当您单击+以展开它时,它将仅显示该数组的第一个元素.是否有一种简单的方法来告诉调试器,将这些数据显示为Foo类型和X大小的数组?



1> shoosh..:

是的,简单.说你有

char *a = new char[10];

在调试器中写入:

a,10

会向你显示内容,就好像它是一个数组.


这是一个很好的技巧,但是如果你的指针指向一个结构数组,我发现在监视窗口中用"a,10"扩展的各个元素本身不可扩展.这意味着您无法使用此方法深入挖掘数组的第3个元素.这是可以克服的吗?
对于初学者:如果选择“ a”变量,请右键单击并添加到监视列表(检查),如果在监视值列表中打开de debugger视图(我现在无法找到窗口的名称),则可以可以双击“ a”并将其重命名为“ a,X”,其中X是项数。您现在将看到所有值。

2> Riaz Rizvi..:

有两种方法可以查看数组m4x4中的数据:

float m4x4[16]={
    1.f,0.f,0.f,0.f,
    0.f,2.f,0.f,0.f,
    0.f,0.f,3.f,0.f,
    0.f,0.f,0.f,4.f
};

一种方法是使用Watch窗口(Debug/Windows/Watch).添加watch =

m4x4,16

这会在列表中显示数据:

在此输入图像描述

另一种方法是使用Memory窗口(Debug/Windows/Memory).指定内存起始地址=

m4x4

这会在表格中显示数据,这对于二维和三维矩阵更好:

在此输入图像描述

右键单击"内存"窗口以确定二进制数据的可视化方式.选择仅限于整数,浮点数和一些文本编码.



3> Drealmer..:

在监视窗口中,在数组名称和要显示的项目数量之后添加逗号.



4> Gengpu Liu..:

再访:

我们假设你有一个指针:

double ** a; // assume 5*10

那么你可以在下面的Visual Studio调试手表中写下:

(double(*)[10]) a[0],5

将它转换成如下所示的数组,您可以一次查看所有内容.

double[5][10] a;



5> 小智..:

对于,

int **a; //row x col

加上这个观看

(int(**)[col])a,row

推荐阅读
殉情放开那只小兔子
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有