3

VS2013 中的默认可视化shared_ptr器有这个(很多很多东西被修剪掉了!):

<Type Name="CA::shared_ptr&lt;*&gt;">
  <Expand>
    <Item Condition="_Ptr != 0" Name="[ptr]">_Ptr</Item>
  </Expand>
</Type>

这意味着在调试器中您必须展开shared_ptr然后展开[ptr]“成员”以查看指向对象的成员。指向 int 的指针的层次结构看起来像(忽略原始视图、分配器和删除器):

myIntPtr
  [ptr]
    42

我想写一个替代品,将所有指向对象的成员向上一层,以位于[ptr]当前所在的层次结构中。这将看起来像:

myIntPtr
  42

是否有一些语法允许这样做?我应该注意,我正在寻找通用语法来支持显示模板参数的所有成员,而不是只能使用的东西shared_ptr-shared_ptr只是一个方便的例子。

4

1 回答 1

3

我认为这就是“ExpandedItem”标签的好处。他们甚至举了一个和你类似的例子。见这里:http: //msdn.microsoft.com/en-us/library/jj620914.aspx#BKMK_ExpandedItem_expansion

于 2014-08-22T14:38:44.940 回答