问题描述
我正在使用 Natvis 在 VSCode 中为我的自定义类开发一些调试可视化。 将 CustomListItems 与一个简单的例子一起使用,但我无法让它工作。 基本上,我认为下面的代码应该显示 16 个值都为 1 的项目,但我只得到了类的基本类型..
<Type Name="vq23_t">
<displayString>16 x q23 Array</displayString>
<Expand>
<CustomListItems>
<Size>16</Size>
<Variable Name="ind" InitialValue="0" />
<Loop Condition="ind < 16">
<Item Name="{ind}"> 1 </Item>
<exec> ++ind </exec>
</Loop>
</CustomListItems>
</Expand>
</Type>
我得到了什么:
噘嘴:16 x q23 阵列
>[原始视图]:0x56594b40
花了很多时间尝试各种事情,所以我将问题简化到这个基本级别,但无法让它发挥作用。
解决方法
如 MSDN 所述,您可以激活日志记录以调试 natvis。
您的情况的解决方案是更改 Size
和 Variable
的顺序,并将 exec
更改为 Exec
。
<Type Name="vq23_t">
<DisplayString>16 x q23 Array</DisplayString>
<Expand>
<CustomListItems>
<Variable Name="ind" InitialValue="0" />
<Size>16</Size>
<Loop Condition="ind < 16">
<Item Name="{ind}"> 1 </Item>
<Exec> ++ind </Exec>
</Loop>
</CustomListItems>
</Expand>
</Type>