在 Visual Studio 调试器中创建数据的自定义视图C++/C#

调试器提供了许多用于检查和修改程序状态的工具。 这些工具中的大多数仅在中断模式下有效。

在变量窗口和数据提示中创建数据的自定义视图

许多调试器窗口(如 "自动" 和 "监视" 窗口)都允许您检查变量。 您可以自定义C++类型、托管对象以及您自己的类型在调试器变量窗口和数据提示中的显示方式。

创建自定义可视化工具

可视化工具使您能够以有意义的方式查看对象或变量的内容。 在 Visual Studio 调试器中,可视化工具是指可以使用放大镜VisualizerIcon图标打开的其他窗口。 例如,HTML 可视化工具显示 HTML 字符串如何在浏览器中进行解释和显示。 你可以通过数据提示、"监视" 窗口 、"自动" 窗口和 "局部变量" 窗口访问可视化工具。 "快速监视" 对话框还提供可视化工具。 

自定义C++视图

使用 Natvis 框架在C++调试器中创建对象的自定义视图

Visual Studio Natvis 框架可以自定义本机类型在调试器变量窗口(例如局部变量、监视以及数据提示窗口)中显示的方式。 Natvis 的可视化功能可以让你创建的类型在调试期间更加直观清晰。

Natvis 替换了 Visual Studio 早期版本中的 autoexp.dat 文件,提供了 XML 语法、更好的诊断功能、版本控制功能以及多文件支持功能。

Natvis 可视化效果

你可以使用 Natvis 框架为自己创建的类型创建可视化规则,让开发人员在调试过程中更轻松地查看这些类型。

例如,下图显示的类型 Windows::UI::Xaml::Controls::TextBox 的变量在调试器窗口中未应用任何自定义可视化。

TextBox 默认可视化

突出显示的行显示 Text 类的 TextBox 属性。 由于类的层次结构很复杂,因此很难找到这个属性。 调试器不知道如何解释自定义字符串类型,所以你看不到文本框中的字符串。

如果应用了 Natvis 自定义可视化工具规则,那么在变量窗口中,同样的TextBox看起来就简单得多。 类的重要成员会显示在一起,并且调试器会显示自定义字符串类型的基础字符串值。

在 C++ 项目中使用 .natvis 文件

Natvis 使用Natvis文件来指定可视化规则。 Natvis文件是具有NATVIS扩展名的 XML 文件。 Natvis 架构在 %VSINSTALLDIR%\Xml\Schemas\natvis.xsd中定义。

.natvis 文件的基本结构由一个或多个代表可视化条目的 Type 元素构成。 每个 Type 元素的完全限定名称都在其 Name 属性中指定。

XML

标签: none

添加新评论