VS.NET 通用列表和字典调试器可视化工具






4.91/5 (35投票s)
一个适用于 VS.NET 2005、2008 和 2010 的酷炫列表和字典调试器可视化工具
- 下载 List Visualizer 2010 - 10.41 KB
- 下载 List Visualizer 2008 - 10.35 KB
- 下载 List Visualizer 2005 - 10.34 KB
- 下载源代码 2005/2008 - 60.34 KB
- 下载源代码 2010 - 51 KB

引言
这是一个简单的用于 Visual Studio .NET 2005、2008 和 2010 的 List<T>
和 Dictionary<T,T>
调试器可视化工具。它工作的唯一要求是列表或字典中的类必须标记为 [Serializable]
。
背景
我使用了这篇不错的文章 用 10 行代码创建一个调试器可视化工具 作为起点。我推荐这篇文章,以获取有关如何实现自定义调试器可视化工具的更多详细信息。
Using the Code
要仅安装可视化工具,请根据您要使用的 Visual Studio .NET 版本下载 List Visualizer 2005、2008 或 2010。在 Visual Studio 命令提示符窗口中运行 *install_vs2005.cmd*、*install_vs2008.cmd* 或 *install_vs2010.cmd*。对于 Windows Vista,请确保以管理员身份运行命令提示符。
请注意,*cmd* 文件中的 Visual Studio 路径使用默认安装路径,*c:\Program Files\Microsoft Visual Studio 8*(对于 VS.NET 2005),*c:\Program Files\Microsoft Visual Studio 9.0*(对于 VS.NET 2008)和 *c:\Program Files\Microsoft Visual Studio 10.0*(对于 VS.NET 2010)。如果您将其安装在其他位置,则可能需要更改 *bat* 文件和项目中的后期生成事件。
2005 年的可视化工具的默认路径为 *C:\Program Files\Microsoft Visual Studio 8\Common7\Packages\Debugger\Visualizers*,2008 年为 *c:\Program Files\Microsoft Visual Studio 9.0\Common7\Packages\Debugger\Visualizers*,2010 年为 *c:\Program Files\Microsoft Visual Studio 10.0\Common7\Packages\Debugger\Visualizers*。只需将程序集复制到那里进行手动安装。
源代码包含 VS.NET 2005 (*ListVisualizer.sln*) 和 VS.NET 2008 解决方案 (*ListVisualizer2008.sln*)。后期生成事件自动部署可视化工具以进行测试。请注意,*ListVisualizer2008.sln* 还包含 VS.NET 2005 项目,如果未安装 2005,则可以删除这些项目。
VS.NET 2010 的源代码可以在另一个 zip 文件中找到。
关注点
我必须将泛型类型强制转换为非泛型接口才能使用正在调试的变量
// Get the list
IList list = (IList)objectProvider.GetObject();
// Get the dictionary
IDictionary dict = (IDictionary)objectProvider.GetObject();
之后,我使用反射来检索要在网格视图中显示的对象属性和字段
// Retrieve the properties
PropertyInfo[] properties = singleObj.GetType().GetProperties();
foreach (PropertyInfo property in properties)
{
dgvList.Columns.Add(property.Name, property.Name);
columns.Add(property.Name, "P");
}
// Retrieve the fields
FieldInfo[] fields = singleObj.GetType().GetFields();
foreach (FieldInfo field in fields)
{
dgvList.Columns.Add(field.Name, field.Name);
columns.Add(field.Name, "F");
}
该解决方案包含六个项目 - 2005 年和 2008 年的字典可视化工具、2005 年和 2008 年的列表可视化工具、测试项目 ListVisualizerTest
和执行大部分工作的类库 VisualizerLib
。ListVisualizerTest
用于调试不同类型的列表和字典,也用于创建可视化工具的 UI。
历史
- 2008 年 4 月 15 日:初始发布
- 2010 年 7 月 3 日:文章已更新 - 为 Visual Studio 2010 创建了新的可视化工具
- 2011 年 8 月 26 日:文章已更新 - 所有 Visual Studio 版本的可视化工具现在都可以调整大小