如何调试大型字符串列表和多维数字数组?

时间:2013-02-04 02:36:14

标签: c# .net debugging visual-studio-2012 visualization

我经常使用C#来处理大型数据集,这些数据集采用非常大的字符串列表或大型2或3维数字数组的形式。后者特别容易在Matlab中可视化,这是我常常错过C#的功能。

VS2012具有非常好的调试功能,允许您以各种方式停止执行和检查不同的变量。它还将突出显示随红色变化的变量。

不幸的是,对于列表和矩阵,这是没用的。默认情况下,不会展开列表,如果您确实展开了列表,则除非您单独展开每个条目,否则将无法看到各个条目的值。布局在空间上是不经济的,因此您可以一次看到很少的条目。对于较大的2D数组,条目的排列方式使得数组一目了然地成为一场噩梦。

对于数据集,有一个很棒的可视化工具,可以在调试模式下单击放大镜时自动显示。不幸的是,我找不到与字符串,字符串数组或2D数组数组相似的任何内容。

暂停执行时是否有用于查看此类数据结构的扩展或隐藏功能?如果不是,我该如何制作自己的?

2 个答案:

答案 0 :(得分:10)

您可以编写自己的自定义Visualizer

还有:

  

Array Visualizer是visual studio的免费开源扩展。   它设计用于在调试时显示2D,3D和4D阵列   应用

答案 1 :(得分:0)

对我来说,Quickwatch(shift + F9)比你在VS中的默认检查(对我来说是悬停的工具提示和监视窗口)更好。

另请看一下:search for a value in an object at runtime [QuickWatch enhancement] 使用即时窗口和?你的列表应该给你想要的东西。

我只是希望在某个时刻,即时窗口会做linq,然后你可以做真正的魔法。 :)