我有一个类型定义为:
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是否可以使用从普通类型类型定义的类型?我看到的所有例子都是使用类。如果是这样的话,有什么可能是错的吗?
发布于 2014-04-04 16:49:02
答案是否定的。调试器无法区分与原始类型的区别。
有趣的是,枚举甚至强类型枚举目前在VS2012更新2中也不工作,尽管调试器实际上可以区分这两者之间的区别。
https://stackoverflow.com/questions/22622179
复制相似问题