Waf*_*fle 1 c# debugging visual-studio visual-studio-debugging
调试时,有各种变量窗口(autos,locals,watch),其中包含Name,Value,Type列.该值通常似乎显示对象的类名.在特定情况下,我想根据类实例的属性显示更有意义的内容.
作为一个具体的例子,对于CodeTypeReference,我想看到基于BaseType字符串或ArrayElementType值引用的类型的文本表示(where valid),而不是看到"System.CodeDom.CodeTypeReferenceExpression".
可视化器似乎提供单独的对话框窗口,而不是填充值列的方法.
数据提示是每个变量而不是每种类型.
最接近的似乎是DebuggerTypeProxyAttribute,在这种情况下,我想我问"是否有可能将属性应用于其他人的类?"
我主要处理Visual Studio 2010,尽管Visual Studio 2008的答案很有用.
是的,有两种方法可以实现这一目标:
通过使用OzCode(以前BugAid为Visual Studio),我创建了一个商业工具,你可以简单地星在你的类型的属性/字段,以及有那些出现在值列上的任何类型,无论是第三方还是不行.
您可以更改autoexp.cs文件,并将DebuggerDisplayAttribute或DebuggerTypeProxyAttribute应用于第三方类型,如我在类似问题的答案中所述.例如,这是将DebuggerDisplayAttribute应用于System.Drawing.Pen的方法:[assembly: DebuggerDisplay(@"\{Color = {color}}", Target = typeof(Pen))]
这个答案适用于VS2008和VS2010.
| 归档时间: |
|
| 查看次数: |
1093 次 |
| 最近记录: |