一、Natvis文件
在代码进行调试时,该类型文件用来定义指定数据类型的变量如何显示包含的数据。可用于C++代码,但不能用于C#代码。下文关于Natvis文件的讨论仅限于C++。
请参考以下链接:
VS2013:
https://msdn.microsoft.com/en-us/library/jj620914(v=vs.120).aspx
VS2015:
https://msdn.microsoft.com/en-us/library/jj620914.aspx?f=255&MSPPError=-2147217396
1. VS2013 打开 Natvis 诊断信息的方式:
[HKEY_CURRENT_USER\Software\Microsoft\VisualStudio\12.0_Config\Debugger]
"EnableNatvisDiagnostics"=dword:00000001
2. VS2015打开 Natvis 诊断信息的方式
Tools / Options / Debugging / OutputWindow / Natvis diagnostic messages (C++ only)
工具/选项/调试/输出窗口/Natvis诊断消息(仅限C++)
二、LegacyAddin dll
<Type Name="MyType">
<DisplayString LegacyAddin="MyType.dll"Export="AddIn_MyType"></DisplayString>
</Type>
请参考以下链接:
http://blog.youkuaiyun.com/ayang1986/article/details/78805848
三、UIVisualizer
<Type Name="MyType">
<UIVisualizer ServiceId="{A452AFEA-3DF6-46BB-9177-C0B08F318025}"Id="1" />
</Type>
创建一个C# VSIX 工程,实现接口:
Microsoft.VisualStudio.Debugger.Interop.IVsCppDebugUIVisualizer
请参考以下链接:
https://code.msdn.microsoft.com/Writing-graphical-debugger-a17e3d75
四、CustomVisualizer
<Type Name="CustomType">
<CustomVisualizer VisualizerId="D778F4FD-5671-4E86-9A38-28021B6A1338"/>
</Type>
创建一个C# VSIX工程,实现接口:
Microsoft.VisualStudio.Debugger.ComponentInterfaces.IDkmCustomVisualizer
请参考以下链接:
https://gitee.com/generalsoft/CustomVisualizer
https://github.com/chromium/vs-chromium