我正在尝试为以 block 的形式存储值的容器制作调试器可视化工具。我想对值和 block 进行列表扩展,但据我所知,单一类型只能有一个列表扩展。可能有多个 Expand
子节点,例如 ArrayItems
,但它们都会生成单个列表。
是的,我可以对容器进行 block 扩展,然后对每个 block 进行值扩展。但我想要两个具有如下扩展的容器子节点:
MyList
|-values
| |-0
| |-1
|
|-chunks
| |-0
| |-1
有没有办法使用 natvis xml 来做到这一点?
最佳答案
您可以使用<Synthetic>
为了那个原因。里面的代码<Synthetic>
例如可以是<Item>
或<ArrayItems>
,还有任何其他项目类型。
<Type Name="MyList">
<DisplayString>...</DisplayString>
<Expand>
<Synthetic Name="values">
<DisplayString>...</DisplayString>
<Expand>
<!-- code for displaying as values -->
</Expand>
</Synthetic>
<Synthetic Name="chunks">
<DisplayString>...</DisplayString>
<Expand>
<!-- code for displaying as chunks-->
</Expand>
</Synthetic>
</Expand>
</Type>
关于c++ - 如何使用 natvis Visual Studio C++ 调试器可视化工具对单一类型进行多个列表扩展,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65446147/