您可以编写任何托管类对象的自定义可视化工具除外 Object 或 Array。
调试器可视化工具的结构由两部分组成:
调试器端 " 在 Visual Studio 调试器中运行。调试器端代码创建并显示可视化工具的用户界面。
调试对象端 在处理 Visual Studio 中运行调试 (调试对象)。
要可视化的对象 (如 string 对象,) 存在于调试对象进程。因此,调试对象端必须发送到调试器端的该数据对象,从而显示它使用用户界面您创建。
调试器端接收 IVisualizerObjectProvider 实现接口的 对象提供程序 要可视化的数据对象。调试对象端通过 对象源发送数据对象, VisualizerObjectSource从派生。对象提供程序还可以将数据发送回对象源,可以编写可视化工具编辑器,并显示,数据。可以重写此对象提供程序与表达式计算器,因此,因此,与对象源
调试对象端和调试器端通过 Stream进行通信。提供序列化为数据对象的方法。 Stream 和反序列化 Stream 回数据对象。
使用 DebuggerVisualizer 特性 (DebuggerVisualizerAttribute),调试对象端代码指定。
若要在调试器端创建可视化工具用户界面,必须创建从 DialogDebuggerVisualizer 继承的类并重写 DialogDebuggerVisualizer.Show 方法公开接口。
可以使用 IDialogVisualizerService 到显示 windows 窗体、对话框和控件从您的可视化工具。
对泛型类型的支持是有限的。您可以编写是泛型类型的目标的可视化工具,只有在泛型类型是开放式类型。,在使用 DebuggerTypeProxy 属性时,此限制相同。此限制。有关详细信息,请参见 使用 DebuggerTypeProxy 特性。
自定义可视化工具可能存在安全注意事项。可视化工具安全注意事项参见。
程序在下,指定哪些的高级视图只需创建可视化工具。有关更多详细说明,请参见 演练:用 C# 编写可视化工具。
创建调试器端
使用 IVisualizerObjectProvider 方法在调试器端获取可视化的对象。
创建从 DialogDebuggerVisualizer继承的类。
重写 DialogDebuggerVisualizer.Show 方法以显示接口。为界面的一部分,使用 IDialogVisualizerService 方法以显示 windows 窗体、对话框和控件。
应用 DebuggerVisualizerAttribute,为它指定可视化工具 (DialogDebuggerVisualizer)。
创建调试对象端
应用 DebuggerVisualizerAttribute,为它指定可视化工具 (DialogDebuggerVisualizer) 和对象源 (VisualizerObjectSource)。如果省略对象源,则使用默认象源
如果您希望可视化工具能够编辑数据对象,以及显示它们,则需要重写从 VisualizerObjectSource的 TransferData 或 CreateReplacementObject 方法。