View Array in Visual Studio Debugger

View array in Visual Studio debugger?

You can try this nice little trick for C++. Take the expression which gives you the array and then append a comma and the number of elements you want to see. Expanding that value will show you elements 0-(N-1) where N is the number you add after the comma.

For example if pArray is the array, type pArray,10 in the watch window.

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

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.

View array in Visual Studio debugger?

The number of elements NSight will copy to the host for debugging is set in:

Nsight->Nsight Options->Debugger->Max Array elements

The default is 4, which is why you only see 4 elements. Increase this (and restart your debugging session), and you will be fine.

(MSVC-2019) Is there a way to see the array's elements made with malloc in the debug(autos) screen?

That is normal and autos window cannot specify malloc type and it should work with the obvious definition size of your arr.

Instead, just as the community members said, use Watch Window, set arr,10 to get that you want. And then it will parse the array with the input size.

Sample Image

Unable to view arrays in Visual Studio C++ debugger?

You can tell the debugger how large the array is by adding a comma followed by the size in the watch window (this is called a format specifier):

cubeArray,18

You can't use a variable or anything as the array size.

Here are some other tricks.


This doesn't help if you just want the tool-tips to show you more; it can only be used in watch windows.

Although Microsoft probably could improve tool-tips for arrays in some special cases, in general it would be very difficult due to the nature of arrays in C++; pointers to elements of an array have no way to know the bounds of that array. The effect this has on the debugger is probably one of the least significant problems. Other problems this creates impact the security and correctness of programs.

If you avoid raw arrays in favor of smarter types then the debugger can provide better tool-tips. The debugger already knows how to display std::vector, for example.



Related Topics



Leave a reply



Submit