我有一个类型定义为:
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 定义的类型?我见过的所有例子都在使用类。如果是这样,有什么想法可能是错的吗?