Развернуть элементы шаблонного типа на первом уровне расширения визуализатора natvis
Визуализатор по умолчанию для shared_ptr
в VS2013 есть это (много, много чего урезано!):
<Type Name="CA::shared_ptr<*>">
<Expand>
<Item Condition="_Ptr != 0" Name="[ptr]">_Ptr</Item>
</Expand>
</Type>
Это означает, что в отладчике вы должны расширить shared_ptr
затем расширить [ptr]
'member', чтобы увидеть членов объекта, на который указывает указатель. Иерархия для указателя на int будет выглядеть так (без учета необработанных представлений, распределителей и удалений):
myIntPtr
[ptr]
42
Я хотел бы написать замену, которая помещает всех членов объекта, на который указывает указатель, на один уровень вверх, чтобы сидеть на уровне в иерархии, где [ptr]
в данный момент сидит. Вместо этого это будет выглядеть так:
myIntPtr
42
Есть ли какой-то синтаксис, который позволит это? Должен заметить, я ищу общий синтаксис для поддержки отображения всех членов параметра шаблона, а не тот, который будет работать только с shared_ptr
- shared_ptr
это просто удобный пример.
1 ответ
Я думаю, что это то, для чего хорош тег "ExpandedItem". Они даже приводят пример, похожий на ваш. Смотрите здесь: http://msdn.microsoft.com/en-us/library/jj620914.aspx