День сто двадцать седьмой. #TipsAndTricks
27. Точка прерывания на автоматически реализованном свойстве
Если в вашей компании по финансовым, юридическим, религиозным или каким-то иным причинам используют старую версию Visual Studio, то вам порой приходится сталкиваться с проблемами, давно решёнными в более современных версиях.
Проблема (в VS версии 2013)
C# поддерживает автоматически реализованные свойства. Во время отладки иногда полезно устанавливать точки останова при обращении к свойству, особенно когда оно вызывается из нескольких мест, и утомительно находить их все и ставить множество точек останова. Итак, рассмотрим следующий пример:
Решение для VS2013 – функциональные точки останова
Создайте новую функциональную точку останова (
В VS версии 2015 и позже это просто работает. Ставьте точку останова на строках 4 или 5, и отладчик остановится на этой строке. Чтобы перейти к вызывающему коду, просто щелкните на следующую строку в стеке вызовов.
Источник: https://devblogs.microsoft.com/devops/set-breakpoints-on-auto-implemented-properties-with-visual-studio-2015/
27. Точка прерывания на автоматически реализованном свойстве
Если в вашей компании по финансовым, юридическим, религиозным или каким-то иным причинам используют старую версию Visual Studio, то вам порой приходится сталкиваться с проблемами, давно решёнными в более современных версиях.
Проблема (в VS версии 2013)
C# поддерживает автоматически реализованные свойства. Во время отладки иногда полезно устанавливать точки останова при обращении к свойству, особенно когда оно вызывается из нескольких мест, и утомительно находить их все и ставить множество точек останова. Итак, рассмотрим следующий пример:
namespace MyName {Если вы попытаетесь установить точку останова на строках 4 или 5, то, к сожалению, точка останова переместится в ближайшее подходящее место, а не останется на этой строке.
class Program {
static bool MyProperty {
get; // строка 4
set; // строка 5
}
static void Main() {
if ((new System.Random()).Next(3) == 1)
MyProperty = true; // строка 9
else
MyProperty = false; // строка 11
System.Diagnostics.Debugger.Break(); // строка 12
}
}
}
Решение для VS2013 – функциональные точки останова
Создайте новую функциональную точку останова (
Ctrl + B
), как показано на рисунке ниже (в этом случае просто set_MyProperty
также будет работать). Теперь, когда вы нажмёте F5, отладчик остановится на строке 9 или 11, в зависимости от того, кому повезёт вызвать метод-мутатор свойства.В VS версии 2015 и позже это просто работает. Ставьте точку останова на строках 4 или 5, и отладчик остановится на этой строке. Чтобы перейти к вызывающему коду, просто щелкните на следующую строку в стеке вызовов.
Источник: https://devblogs.microsoft.com/devops/set-breakpoints-on-auto-implemented-properties-with-visual-studio-2015/