我正在使用基于 STL 的 C++ 解决方案,并且正在使用 CPtrList 集合。
我这里有一个 CPtrList 集合,其中包含void *
条目,我想使用 natvis 文件自动对它们进行类型转换。
目前,我的 natvis 如下所示:
<Type Name="CList<*,*>">
<AlternativeType Name="CObList"></AlternativeType>
<AlternativeType Name="CPtrList"></AlternativeType>
<AlternativeType Name="CStringList"></AlternativeType>
<AlternativeType Name="CTypedPtrList<*,*>"></AlternativeType>
<DisplayString>{{iets anders Count = {m_nCount}}}</DisplayString>
<Expand>
<Item Name="Count">m_nCount</Item>
<LinkedListItems>
<Size>m_nCount</Size>
<HeadPointer>m_pNodeHead</HeadPointer>
<NextPointer>pNext</NextPointer>
<ValueNode>data</ValueNode>
</LinkedListItems>
</Expand>
</Type>
因此,我的 CPtrList 的条目如下所示:
0x<something> void *
0x<something else> void *
...
我希望将条目类型转换为如下内容:
<information> CElement::SL_SET_PARAMETER*
<information else> CElement::SL_SET_PARAMETER*
一旦我知道如何完成这项工作,我可以在我的 natvis 中添加一个“SL_SET_PARAMETER”条目并决定如何显示它,但因此我首先需要向 natvis 解释每个 CPtrList 条目都应该转换为一个“SL_SET_PARAMETER”对象。
有人知道怎么做这个吗?