Невозможно установить контрольные точки в автозапуске? Зачем?
По-видимому, VS 2008 не позволяет установить точку останова только на установщике авто-свойства.
т.е. если я определяю авто-свойство следующим образом:
public int CurrentFramesize
{
get;
protected set;
}
а затем попытайтесь установить точку останова на линии сеттера, все авто-свойство превратится в контрольную точку-красную.
Это нормально работает для нормальных свойств, поэтому любая идея, почему авто-свойства получают эту специальную (ограничительную) обработку? Являются ли они более чем просто синтаксическим сахаром для нормальных свойств со скрытым полем поддержки?
Ответы
Ответ 1
Использование Visual Studio 2008, 2010, 2012:
- Перейдите в окно точки останова
- New- > Break at Function...
-
Для получения,
тип: ClassName.get_CurrentFramesize()
Для набора введите: ClassName.set_CurrentFramesize(int)
При достижении точки останова вы получите "Нет источника", но вы получите местоположение вызова в стеке вызовов.
Я нашел это решение здесь: http://social.msdn.microsoft.com/Forums/en/vsdebug/thread/b1dd0dc3-e9c1-402a-9c79-a5abf7f7286a
См. также: Отладка автоматических свойств
Ответ 2
Короткий ответ: эта функция ошибка оказалась на полу режущей комнаты для VS2008.
(Дольше answer - hat tip @jdk)
Все, что у нас есть, - это смутное обещание, что это рассматривается для vNext.
Ответ 3
Эта функция реализована в Visual Studio 2015
http://blogs.msdn.com/b/visualstudioalm/archive/2014/11/14/set-breakpoints-on-auto-implemented-properties-with-visual-studio-2015.aspx
Ответ 4
Нет, вы не можете установить точку останова на них, но тогда что бы вы проверили? Переменная для хранения авто-имущества назначается только во время выполнения, и поэтому для отображения/доступа отладчика нет переменной.