如何在不显示地址的情况下在visual studio watch中显示C风格的数组

问题描述

我正在寻找一种简单的方法来在 Visual Studio 监视窗口中显示 C 样式数组而不显示其地址。

不幸的是,format specifier na 只包含指针。

F.e.看这个数组定义

int a[] = { 1,2 };

enter image description here

解决方法

也许很明显,但一个简单的解决方法是将 na 的定义有点狭窄,即强制转换为指针。对于问题中的示例:

enter image description here

唯一的缺点是必须手动指定数组长度,而且表现力太强。

不过,这也适用于 natvis

<?xml version="1.0" encoding="utf-8"?> 
<AutoVisualizer xmlns="http://schemas.microsoft.com/vstudio/debugger/natvis/2010"> 
  <Type Name="S">
    <DisplayString>a={(int*)a,2na}</DisplayString> 
  </Type>
</AutoVisualizer>

enter image description here