в MonoDevelop его использование впилено:
http://lists.ximian.com/pipermail/monod … 01884.html

Официальная документация:
https://msdn.microsoft.com/ru-ru/library/x810d419.aspx
по умолчанию выводится значение {<typeName>}
если имеется переопределенный метод ToString(), отладчик использует его
если используется атрибут DebuggerDisplay, он будет иметь более высокий приоритет по отношению к переопределенному методу ToString()

В тексте программы это выглядит как-то так:
    [DebuggerDisplay("x = {x} y = {y}")]

или

    [DebuggerDisplay("{GetDebuggerDisplay(), nq}")]
    public abstract partial class SyntaxNode
    {
        ...
        private string GetDebuggerDisplay()
        {
            return GetType().Name + " " + KindText + " " + ToString();
        }

The “,nq” suffix here just asks the expression evaluator to remove the quotes when displaying the final value (nq = no quotes).
https://blogs.msdn.microsoft.com/jaredp … practices/
Having the property be private is fine because nothing is private in the debugger.

Другим способом сократить запись атрибута является создание закрытого свойства, которое выполняет операцию и возвращает строку.
Атрибут DebuggerDisplay сможет отобразить значение этого закрытого свойства. Ниже показан пример реализации этого способа.

[DebuggerDisplay("{DebuggerDisplay,nq}")] 
public sealed class MyClass   
{     
    public int count { get; set; }     
    public bool flag { get; set; }     
    private string DebuggerDisplay 
    {         
        get 
        { 
             return string.Format("("Object {0}", count - 2); 
        }     
    } 

Атрибут DebuggerDisplay также может принимать именованные параметры.
Name, Type - Эти параметры влияют на столбцы Имя и Тип окон переменных. (Для них также может быть задан вывод строк с использованием того же синтаксиса, что и для конструктора.) Злоупотребление этими параметрами или их неправильное использование может, однако, привести к выводу неудобочитаемых или недостоверных данных.
Target, TargetTypeName - Указывает конечный тип, когда атрибут используется на уровне сборки.

Другие атрибуты для отладки:
DebuggerBrowseable
DebuggerTypeProxy

Отредактировано Arsen.Shnurkov (2017-07-10 10:17:21)