.NET允许你在Visual Studio中为数据类型创建DebuggerVisualizers,我需要向我想要可视化的类型添加以下属性:
[System.Diagnostics.DebuggerVisualizer("VisualizerTypeName", "ObjectSourceTypeName")]然后它会在不同的调试窗口中在该类型的表达式旁边添加一个小放大镜符号,当您单击放大镜时,它将弹出指定的可视化工具。
我一直在努力寻找如何对C++类型做同样的事情。我知道autoexp.dat和VC2010Samples\C++\Debugging\EEaddin示例项目,但它们似乎只适用于调试器窗口中的文本输出,而不适用于为调试可视化工具转发数据。
我假设它会以某种方式与autoexp.dat相关,但我找不到任何关于标记可视化类型的信息。如何让放大镜弹出任意C++类型,就像弹出char*类型一样?
发布于 2015-11-03 23:47:17
在Visual Studio2012和更高版本中,似乎有一种新的调试可视化格式,.natvis:
https://msdn.microsoft.com/en-us/library/jj620914(v=vs.110).aspx#BKMK_UIVisualizer
在Visual Studio2010和更早的版本中,我能找到的最好的信息是"stringview“是autoexp.dat唯一支持的可视化类型。您可以指定字符串格式,以便使用内置的字符串可视化工具将类型可视化为字符串,但不能使用自定义可视化工具:
http://www.idigitalhouse.com/Blog/?p=83
https://stackoverflow.com/questions/33502797
复制相似问题