NatVis:允许 typedefs 吗?
Posted
技术标签:
【中文标题】NatVis:允许 typedefs 吗?【英文标题】:NatVis: typedefs allowed? 【发布时间】: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 定义的类型?我见过的所有例子都在使用类。如果是这样,知道可能出了什么问题吗?
【问题讨论】:
【参考方案1】:答案是否定的。调试器无法分辨出与原始类型的区别。
有趣的是,枚举甚至强类型枚举目前在 VS2012 Update 2 中也不起作用,尽管调试器实际上可以分辨出区别。
【讨论】:
以上是关于NatVis:允许 typedefs 吗?的主要内容,如果未能解决你的问题,请参考以下文章