Visual Studio отсутствует/перемещение моих точек останова

Проблема заключается в том, что когда я помещаю точку останова и отлаживаю/запускаю, точка останова перемещается сама по себе.

До/во время кодирования:

enter image description here

После щелчка по нажатию кнопки run/breakpoint:

enter image description here

Точки прерывания обычно работают нормально для меня, но кажется, что они иногда случайным образом играют. Сначала я был в этом возрасте с проекта VB, и в конце концов, я обошел эту проблему, удалив точку останова и добавив ее где-то еще, где она по-прежнему полезна.

Хотя я, вероятно, мог бы сделать то же самое снова, и это только второй раз, когда это произошло (я помню), я действительно не хочу этого и хотел бы знать, что на самом деле неправильно.

Я прочитал много подобных вопросов здесь, но я не вижу точного соответствия, и ответы не помогают. Я пробовал - строительство, восстановление, закрытие/повторное открытие и очистку.

Я только представил картинку с кодом, где это происходит, если вам нужно что-нибудь еще, сообщите мне.

Ответы

Ответ 1

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

Ответ 2

Также проверьте, были ли вы установлены точки останова в одном режиме (Debug), но теперь находятся в другом режиме (например, Release). Это вызвало у меня некоторое мгновение.

Ответ 3

У меня возникла проблема после того, как Windows необъяснимо добавила 6 месяцев к текущей системной дате (и 1 час к времени). Я не исправил это сразу, поэтому сборки, сделанные до исправления, были более свежими для Visual. Это приводит к запуску неправильной (более старой) сборки при отладке.

Так как я не смог найти параметр Clean Solution/Project ", мне пришлось вручную удалить все .pdb файлы в решении. Проблема была мгновенно исправлена. Я просто надеюсь, что нет никаких файлов, которые мне могут понадобиться удалить (я новичок в Visual и не знаю много о том, как это работает за кулисами).

Ответ 4

Вы можете получить это, если точка останова - ПОСЛЕ оператора возврата. Visual Studio переводит точку останова в закрывающую фигурную скобку (или "End Function" для VB.NET), потому что return выпрыгивает из функции.