【问题标题】:NatVis: typedefs allowed?NatVis:允许 typedefs 吗?
【发布时间】:2014-03-24 22:49:06
【问题描述】:

我有一个类型定义为:

typedef unsigned short StringChecksum;

我最终打算使用 NatVis 在我们已加载到内存中的全局字符串表中显示相应的值。

所以我定义了一个新的 NatVis 进行测试(这是我的第一次):

<?xml version="1.0" encoding="utf-8" ?>
<AutoVisualizer xmlns="http://schemas.microsoft.com/vstudio/debugger/natvis/2010">
  <Type Name="StringChecksum">
    <DisplayString>StringChecksum {this}</DisplayString>
  </Type>
</AutoVisualizer>

我在注册表中打开了 NatVis 调试,我可以看到我的 .natvis 文件正在被调试器加载并成功解析。

我还关闭了“编辑并继续”。

但是,当我调试代码并检查 StringChecksum 时,我看不到任何区别,它显示的是整数。我希望它会显示类似“StringChecksum 3433”的内容。

NatVis 是否可以使用从普通 typedef 定义的类型?我见过的所有例子都在使用类。如果是这样,知道可能出了什么问题吗?

【问题讨论】:

    标签: visual-studio-2012 natvis


    【解决方案1】:

    答案是否定的。调试器无法分辨出与原始类型的区别。

    有趣的是,枚举甚至强类型枚举目前在 VS2012 Update 2 中也不起作用,尽管调试器实际上可以分辨出区别。

    【讨论】:

      猜你喜欢
      • 2013-12-30
      • 2012-08-22
      • 1970-01-01
      • 2019-04-20
      • 1970-01-01
      • 2015-08-30
      • 2010-11-16
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多