Частичная отладка классов - PullRequest
10 голосов
/ 30 июня 2010

Я создал частичный класс для моего автоматически сгенерированного класса xsd. Проблема в отладке этого частичного класса. Точка останова не распознается или компилятор не прерывается на точках останова, установленных в частичном классе.

// Autogenerated class by xsd.exe

public partial class Class1
{
    private Class1Brand[] brandField;

    private string Class1guidField;

    .....
}

// Debug Part - probably in a different file
public partial class Class1
{
    public static Validity setValidity(Validity validity)
    {
    // ********* BREAKPOINT IS SET ON THE NEXT LINE ***********
        validity.LastVerified = DateTime.Now;

        //certificates are only updated within 14 days before expiry date
        TimeSpan tsCheck = validity.NotAfter - validity.LastVerified;
        if (tsCheck.Days <= 14)
        {
            DateTime dtNotBefore = validity.NotAfter.AddDays(conf.validityPeriod());
            if (validity.NotAfter > DateTime.Now)
            {
                dtNotBefore = validity.NotAfter;
            }
            else
            {
                dtNotBefore = DateTime.Now;
            }
            validity.NotBefore = dtNotBefore;
            validity.NotAfter = dtNotBefore.AddDays(conf.validityPeriod());
        }
        return validity;
    }

}

1 Ответ

25 голосов
/ 30 июня 2010

XSD украшает все сгенерированные классы с помощью DebuggerStepThroughAttribute, что предотвращает остановку отладчика в методе / классе, помеченном этим атрибутом.

Чтобы решить это:

  • Либо найдите и замените все вхождения атрибута DebuggerStepThrough
  • , либо в Visual Studio перейдите к Инструменты - Параметры ... , выделите Отладка / Общие и снимите флажок рядом с Включить только мой код
...