65.9K
CodeProject is changing. Read more.
Home

View unsafe pointer as an array in C# watch window

starIconstarIconstarIconstarIconstarIcon

5.00/5 (10 votes)

Jan 29, 2014

CPOL
viewsIcon

15820

View unsafe pointer as an array in C# watch window

Introduction

MS visual studio C# watch window does not support size specifier for pointer to view it as an array whereas c++ watch window does it.

Background

Many articles are available for "Visual Studio tips" which includes the tips for watch window but I could not find any article explaining about viewing an unsafe pointer in C# watch window. Here is the solution but better ideas than this are always welcome.

Using the code

Refer below image for the unsafe fuction which receives the pointer arguments like "float * Vertices". We can use "Vertices,10" in C++ watch window to view the contents of the pointer. How to do that in C#??

Step 1: Immediate window
Declare a float array in immediate window as the following image.

Step2: Watch windowType the following line in watch window.
Marshal.Copy((IntPtr)Vertices, fVerticesArray, 0, noVertices)

After the expression is evaluated in the watch window, type the variable name which we declared in immediate window. Expand the variable to view the contents of the pointer. That's all. :)