2

我正在尝试通过在 VS2015 中创建一个 .natvis 文件来为 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>
4

1 回答 1

0

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

<Type Name="Element">
  <DisplayString>{ id={id} }</DisplayString>
</Type>
于 2018-11-08T13:40:58.543 回答