How to display a dynamically allocated array in the Visual Studio debugger?

If you have a statically allocated array, the Visual Studio debugger can easily display all of the array elements. However, if you have an array allocated dynamically and pointed to by a pointer, it will only display the first element of the array when you click the + to expand it. Is there an easy way to tell the debugger, show me this data as an array of type Foo and size X?


Yes, simple. say you have

char *a = new char[10];

writing in the debugger:

a,10

would show you the content as if it were an array.


There are two methods to view data in an array 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
};

One way is with a Watch window (Debug/Windows/Watch). Add watch =

m4x4,16

This displays data in a list:

在这里输入图像描述

Another way is with a Memory window (Debug/Windows/Memory). Specify a memory start address =

m4x4

This displays data in a table, which is better for two and three dimensional matrices:

在这里输入图像描述

Right-click on the Memory window to determine how the binary data is visualized. Choices are limited to integers, floats and some text encodings.


在监视窗口中,在数组名称后面添加逗号,以及要显示的项目数量。

链接地址: http://www.djcxy.com/p/79182.html

上一篇: 在C#中,为什么String是一个类似于值类型的引用类型?

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