C# 调试时查看监视窗口中的异常数据

C# 调试时查看监视窗口中的异常数据,c#,.net,visual-studio,debugging,visual-studio-debugging,C#,.net,Visual Studio,Debugging,Visual Studio Debugging,在VisualStudio中调试时,如何在“监视”窗口中轻松监视异常的Data属性的内容?它属于奇怪的类型System.Collections.ListDictionaryInternal 我发现您可以分别查看键和值: try { ... do something that throws exception with Data } catch (Exception ex) { throw;

在VisualStudio中调试时,如何在“监视”窗口中轻松监视异常的Data属性的内容?它属于奇怪的类型System.Collections.ListDictionaryInternal

我发现您可以分别查看键和值:

        try {
            ... do something that throws exception with Data
        }
        catch (Exception ex) {
            throw;
        }
        finally {
        }
在“监视”窗口中:

ex.Data.Keys.Cast<string>()
ex.Data.Values.Cast<string>()
new System.Collections.Hashtable(ex.Data)
ex.Data.Keys.Cast()
ex.Data.Values.Cast()

但是你能把它看作一个字典还是什么吗?

我认为你最好的办法是创建一个函数,使用
System.Diagnostics.Debug.Write()
System.Collections.ListDictionaryInternal
是一个IDictionary,因此,您可以在Watch或QuickWatch窗口中计算以下表达式:

ex.Data.Keys.Cast<string>()
ex.Data.Values.Cast<string>()
new System.Collections.Hashtable(ex.Data)
编辑:我与他人共同创建了一个使这一过程更加容易的。使用它,您只需将鼠标悬停在异常变量上,右键单击它,选择并键入
newsystem.Collections.Hashtable([obj].Data)//Data
。从那时起,无论何时查看异常,都可以以一种格式良好的方式查看其数据字典,而无需任何手动步骤,如: