如何在VS2015中为指针类型添加自定义可视化?

时间:2018-03-26 07:03:15

标签: c++ visual-studio-2015 natvis

我试图通过在VS2015中创建一个.natvis文件来编写一个custom visualizer来指示C ++类的指针,比如Element。

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 个答案:

答案 0 :(得分:0)

您不需要添加*。而且,访问当前上下文的成员时不需要*this.(另请参阅有关运算符优先级的注释)。

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