Как добавить пользовательскую визуализацию для типов указателей в VS2015?

Я пытаюсь написать собственный визуализатор для указателей класса C++, например, Element, создав файл.natvis в VS2015.

class Element
{
   int id;
   ......
};

int main()
{
   Element* pElem = GetElement();  // Visualise this pointer!

}

Я хочу, чтобы отладчик показал мне значение члена id элемента, когда я наведите курсор мыши на указатель переменной. Как я могу это сделать? До сих пор я пробовал следующее, но, похоже, не работает.

<?xml version="1.0" encoding="utf-8"?>

<AutoVisualizer xmlns="http://schemas.microsoft.com/vstudio/debugger/natvis/2010">
  <!-- VC 2015 -->

  <Type Name="Element*">
    <DisplayString>{ id={*this.id} }</DisplayString>
  </Type>

</AutoVisualizer>

1 ответ

Вам не нужно добавлять *, И нет необходимости *this. при доступе к члену текущего контекста (также см. комментарии относительно приоритета операторов).

<Type Name="Element">
  <DisplayString>{ id={id} }</DisplayString>
</Type>
Другие вопросы по тегам