【发布时间】:2017-11-09 07:40:58
【问题描述】:
在 C++ 中,我有一个我想要可视化的整数数组,其中的元素是这样的:
[0] <range 1 start, e.g. 1253>
[1] <range 1 end, e.g. 1320>
[2] <range 2 start, e.g. 1852>
[3] <range 2 end, e.g. 2528>
...
[n] 0
所以,我想将其可视化为具有自定义表示,其中每个可视化项目都类似于[0] <1253-1320>; [1] <1852-2528>等
目前,我有这个(没有给我想要的结果):
<CustomListItems>
<Variable Name='pCurRange' InitialValue='m_pWhichRanges'/>
<Variable Name='i' InitialValue='0'/>
<Loop Condition='*pCurRange'>
<Item Name='[{i,d}] begin'>*pCurRange</Item>
<Item Name='[{i,d}] end'>*(pCurRange+1)</Item>
<Exec>pCurRange+=2</Exec>
<Exec>++i</Exec>
</Loop>
</CustomListItems>
但我希望每个项目都像这样(在 DisplayString 语法中):
<Item>{*pCurRange} - {*(pCurRange+1)}</Item>
由于 item 元素的内容不能是 this,我似乎无法做到这一点。此外,我看不到在可视化器中定义字符串(或字符数组)变量并在 Item 元素之前构造它的方法 - 最重要的是,可视化器没有可用的字符串修饰符 intrinsics。在项目的 Name 属性中执行此操作不是一个选项,因为我需要在 Value 列中这样做。
可以通过某种方式完成吗?
编辑:this 是实现我想要的视图所需的请求。
【问题讨论】:
标签: visual-studio-2015 visual-studio-2017 natvis