7

我有一个复杂的类 (MyClass),它有一个名为ToString()的函数,该函数返回字符串的字符串表示形式。

我希望视觉工作室可视化器使用该函数来显示变量

这是我的可视化器,

<AutoVisualizer xmlns="http://schemas.microsoft.com/vstudio/debugger/natvis/2010">
  <Type Name="MyClass">
    <DisplayString>...</DisplayString> 
  </Type>
</AutoVisualizer>

如果我使用

...
  <DisplayString>{ToString}</DisplayString> 
...

返回函数的地址,能不能显示函数的结果?

如果不是,那么显示类的字符串表示的最佳方式是什么?

4

1 回答 1

5

方法不能被调用。

来自MSDN 论坛

从调试器调用函数是在玩火。您可能会在跨线程依赖项上死锁(即使您没有任何显式的跨线程依赖项,也有用于内存分配之类的共享锁)。这就是 C++ 调试器不支持隐式 funceval 的原因

于 2015-12-05T20:48:15.937 回答