Как убрать точку останова в visual studio

Обновлено: 02.07.2024

Для отладки определенной веб-страницы в Visual Studio выберите эту веб-страницу в окне Solution Explorer и щелкните на кнопке Start Debugging (Начать отладку) в панели инструментов. (Если вы в данный момент редактируете веб-страницу, которую собираетесь тестировать, то выбирать ее нет необходимости — просто щелкните на кнопке Start Debugging для ее запуска.)

Дальнейшие события зависят от расположения вашего проекта. Если ваш проект хранится на удаленном веб-сервере или локальном виртуальном каталоге IIS, Visual Studio просто запускает браузер по умолчанию и направляет на соответствующий URL.

Если вы использовали приложение файловой системы, Visual Studio запускает свой встроенный веб-сервер на динамически выбранном порту (который предотвращает конфликт с IIS, если он установлен). Затем Visual Studio запускает браузер по умолчанию и передает ему URL, указывающий на локальный веб-сервер. В каждом случае реальная работа — компиляция страницы и создание объектов страницы — передается рабочему процессу ASP NET.

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

Фиксация и перезапуск веб-страницы полезны, но что делать, когда необходимо отследить трудно уловимую ошибку? В этих случаях понадобятся усовершенствованные возможности отладки Visual Studio, которые рассматриваются в последующих разделах.

Если тестовый веб-сервер используется, он запускает весь код от имени вашей пользовательской учетной записи. Это отличается от намного более ограниченного поведения, наблюдаемого в IIS, где для обеспечения безопасности применяется менее привилегированная учетная запись. Важно понимать разницу, поскольку, если приложение получает доступ к защищенным ресурсам (таким как файловая система, база данных, системный реестр или журнал регистрации событий), необходимо явно разрешить доступ пользователю IIS.

Пошаговая отладка

позволяет выполнять код по одной строке за раз. Выглядит она чрезвычайно просто и подразумевает выполнение следующих действий:

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

Добавление точки останова

Теперь запустите свою программу обычным образом. Когда программа достигнет точки останова, выполнение приостановится, и вы переключитесь обратно в окно кода Visual Studio. Оператор, на котором установлена точка останова, не выполнится.

На этом этапе доступно несколько возможностей. Вы можете выполнить текущую строку, нажав клавишу <F11>. Следующая строка кода будет помечена желтой стрелкой, указывая на то, что именно она будет выполнена. Вы можете продолжать это на протяжении всей программы, запуская по одной строке за раз нажатием <F11> и следуя пути выполнения кода. Или же вы можете выйти из этого режима и возобновить нормальное выполнение кода, нажав клавишу <F5>.

Вместо клавиш быстрого вызова команд вроде <F11> и <F5> можно использовать кнопки панели инструментов Debug (Отладка) в Visual Studio. В качестве альтернативы можно щелкнуть правой кнопкой мыши в окне кода и выбрать опцию из контекстного меню.

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

Просмотр содержимого переменной в режиме паузы

Если вы поместите курсор над объектом, то сможете просмотреть все его свойства, щелкнув на маленьком знаке "плюс":

Просмотр свойств объекта в режиме паузы

Можно даже непосредственно изменить значение переменной или свойства — просто щелкните внутри окна подсказки и введите новое значение. Это позволит смоделировать сценарии, которые сложно или долго воспроизвести вручную, либо проверить специфические условия ошибок.

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

Перевести программу в режим паузы можно в любой момент, щелкнув на кнопке паузы в панели инструментов или выбрав в меню Debug (Отладка) команду Break All (Остановить все).

Слежение за переменными

В некоторых случаях может понадобиться отслеживать состояние переменной без постоянного переключения в режим паузы. В таких ситуациях более полезными оказываются окна Locals (Локальные), Autos (Автоматические) и Watch (Слежение), которые позволяют отслеживать переменные во всем приложении:

Окна для слежения за переменными
Окно Описание
Locals Автоматически отображает все переменные в пределах текущей процедуры, предлагая быстрый обзор важных переменных
Autos Автоматически отображает переменные, которые система Visual Studio определила как важные для текущего оператора в коде. Сюда могут входить, например, переменные, к которым получается доступ или которые изменяются в предыдущей строке
Watch Отображает добавленные вами переменные. Установки слежения сохраняются вместе с проектом, чтобы можно было продолжить слежение за переменными позже. Для добавления слежения щелкните правой кнопкой мыши на переменной в коде и выберите в контекстном меню пункт Add Watch (Добавить слежение); в качестве альтернативы дважды щелкните на последней строке в окне Watch и введите имя переменной

Каждая строка в окнах Locals, Autos и Watch предоставляет информацию о типе или классе переменной и ее текущем значении. Если переменная содержит экземпляр объекта, ее можно развернуть и просмотреть приватные члены и свойства.

Например, в окне Locals вы увидите переменную this, которая является ссылкой на текущий объект страницы. Если вы щелкнете на знаке "плюс" возле нее, появится полный список свойств страницы (и некоторые системные значения):

Просмотр текущего объекта страницы в окне Locals

Окна Locals, Autos и Watch позволяют изменять переменные или свойства во время нахождения программы в режиме паузы. Дважды щелкните на текущем значении в столбце Value (Значение) и введите новое значение. Если не хватает какого-то окна слежения, отобразите его вручную, выбрав его в подменю Windows меню Debug.

Расширенные точки останова

Выберите в меню Debug (Отладка) команду Windows --> Breakpoints для отображения окна, в котором перечислены все точки останова в текущем проекте. Окно Breakpoints (Точки останова) предоставляет счетчик попаданий в точку останова. Дважды щелкнув на точке останова, можно переместиться в соответствующее место кода:

Окно Breakpoints

Окно Breakpoints можно также применять для отключения точки останова без ее удаления. Это позволяет сохранить точку останова, чтобы использовать во время тестирования позже. Точки останова автоматически сохраняются в файле решения.

Visual Studio позволяет настраивать точки останова так, чтобы они проявлялись только в случае соблюдения определенных условий. Чтобы настроить точку останова, щелкните на ней правой кнопкой мыши и выберите одну из перечисленных ниже опций:

Location

Используйте эту опцию, если хотите увидеть точный файл и строку, в которой находится данная точка останова.

Condition

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

Hit Count

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

Filter

When Hit

Второй вариант — указать в качестве такого действия запуск макроса Visual Studio, что позволит выполнить в IDE-среде практически любое действие.

Visual Studio запоминает точки останова из предыдущих сессий отладки, и это здорово.

Однако, когда я отлаживаю и удаляю одну из этих «старых» точек останова, щелкая по ней, она только временно удаляется. Я имею в виду, что в следующий раз, когда я буду отлаживать, точка останова, которая, как я думал, была удалена, вернулась.

Это супер раздражает - есть ли настройка, чтобы он этого не делал?

Если вы удалите их после остановки отладчика, они останутся навсегда. этот соединительный URL больше не работает - но я помню, что это было что-то с потоками - но насколько сложно добавить опцию щелчка правой кнопкой мыши «навсегда удалить точку останова» независимо от причины . Почему они не просто предоставляют опцию «Удалить ожидающую точку останова» в контекстном меню точки останова? Это не ракетостроение.

тогда зайдите в Debug меню Delete All Breakpoints Ctrl+Shift+F9

Попробуйте выбрать элемент панели «Точки останова» на панели «Отладка». Это вызывает окно Breakpoints. Из этого окна вы можете просмотреть все точки останова в приложении. Здесь вы выбираете и очищаете точку останова, нажимая кнопку «Удалить» на панели инструментов на панели «Точки останова». замечательно - горячая клавиша работает в экспресс-версии (у которой нет пункта в меню). Это не решает проблему все время. Я использовал его, и точка останова все еще возвращается .. Это в раздражающем месте, где я не могу пройти через это, пока я не закончу нажимать кнопку «Продолжить» более 50 раз. @Dinerdo Вместо того, чтобы удалить его, вы можете попробовать отключить его или добавить условие, которое никогда не выполняется.

Проблема в том, что дочерние контрольные точки ваших контрольных точек сохраняются. Дочерние точки останова создаются (в определенных ситуациях) при установке точек останова во время сеанса отладки.

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

Если вы используете (старую) версию Visual Studio, которая поддерживает макросы VBScript, вы можете запустить макрос, размещенный здесь (между сеансами отладки), чтобы удалить дочерние точки останова. Это сделает удаление точек останова, щелкнув по глифу, несколько более эффективным и предсказуемым, но это по-прежнему проблематично и неудобно.

Я изо всех сил пытался найти «Окно BreakPoints». Так вот быстрый способ открыть его - ctrl + alt + B

введите описание изображения здесь

Или вы можете вручную перейти к «Debug-> Windows-> Breakpoints», чтобы открыть его.

введите описание изображения здесь

Или вы можете нажать ctrl + shift +, F9 чтобы удалить все точки останова одновременно!

Мой поток с липкими контрольными точками во время контрольных точек выглядит следующим образом:

Во время отладки отключите точку останова вместо ее удаления.

Возможные способы отключения точки останова:

  • наведите курсор на курсор и щелкните значок двух циклов;
  • или используйте контекстное меню на нем;
  • или сочетание клавиш CTRL + F9 (не Shift + CTRL + F9, поскольку оно очищает все точки останова).

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

PS. Также хорошей практикой является удаление всех точек останова время от времени.

image


Привет, хаброразработчик!
Нет, это не очередной конкурс спали клавиатуру А и получи клавиатуру Г. Сегодня мы поговорим о горячих клавишах в Visual Studio 2008.

Многие из нас пользуются всевозможными плагинами, расширениями для Visual Studio. Стоит заметить что многие из них довольно удобны. А вкупе с code snippets значительно ускоряют работу. Про плагины можно почитать здесь и здесь, про code snippets здесь. Тем кто ещё не знаком с такими «плюшками» настоятельно порекомендую попробовать и использовать.

Здесь я опишу тех хоткеи, которые использую и считаю удобными и необходимыми для запоминания.

Схемы разработки

image

Прежде всего, хочу обратить ваше внимание что в Visual Studio есть несколько схем для разработчиков, переключить которые вы можете через меню, как показано ниже:

Так же в этом меню, вы можете добавить или удалить хоткеи «заточив» ещё больше под себя. Настройка довольно проста.

Комментирование.

Есть несколько комбинаций клавиш, для создания комментирования:
Ctrl+E,C — закоментировать выбранные линии в коде.
Ctrl+E,U — раскомментировать выбранные линии в коде.

Если перед имененм метода набрать /// — автоматически будут добавлены XML комментарии, которые потом можно использовать для создания документации.

Поиск

Кто-то пользуется поиском для рефакторинга, кто-то для ознакомления со своим же кодом, жизнь можно улучшить довольно легко:
Ctrl+F — открывается стандартное окно поиска, если в буфер недавно было скопирован текст, то он автоматически подставиться.
Ctrl+F3 — поиск «активного» текста вниз (который выделен или слово на котором стоит курсор), без копирования в буфер обмена.
Ctrl+Shift+F3 — поиск «активного» текста вверх.
Ctrl+I — и начинаете печатать текст, этакий runtime поиск.

Вызов базового джина

Вам лень писать текст полностью?! Скорость выпадающего Intellisence не устраивает несущуюся впереди вас вашу мысль?!
Тогда самое время применить следующии комбинации:
Ctrl+Space — вызов Intellisence с показом «слов»
Ctrl+J — если вы подзабыли название метода класса или его свойсто, то эта комбинация вам поможет. Можно применять и предыдущую, но эта более «умная».
Ctrl+K, X — показ всех сниппетов, которые у вас есть, в виде выпадающего списка, использование интуитивно понятно :)
короткое_имя_снипета+Tab — использовать сниппет в коде. Список базовых сниппетов можно посмотреть здесь. Себе я сделал немного урезанный вариант и повесил рядом с монитором.

Навигация по коду

Если обратите внимание то студия, по своей природе MDI, значит должна быть возможность перемещаться, между окнами:
Ctrl+Tab — аналог Alt+Tab в Windows, только применимо к студии.

Очень удобным инструментом в студии являются закладки, да-да, по аналогии с книжными. Можно отметить код чтобы потом перейти к нему:
Ctrl+B, T — поставить/снять закладку.
Ctrl+B, Ctrl+C — удалить все закладки.
Ctrl+B, N — перейти к следующей закладке.
Ctrl+B, P — перейти к предыдущей закладке.

Форматирование и редактирование

Многие знают и используют Ctrl+C и Ctrl+V, но студия обладает ещё рядом удобным комбинаций:
Ctrl+Shift+V — не отпуская Ctrl+Shift и нажимая на V, вы сможете вставить один из 10 последних кусков текста, скопированных в буфер обмена.
Tab — увеличить отступ.
Shift+Tab — уменьшить отступ.

Мне иногда не хватало вертикального выделения текста, бывает полезно. Оказывается и такая возможность есть! Стоит нажать Alt, и не отпуская, выделять мышкой текст. Но есть минус — меню и стрелочки клавиатуры :). Это решаемо, нажимаете Shift+Alt и используете стрелочки Left или Right

Если код доставшийся вам «грязен», не только по структуре, но и по внешнему оформлению, используйте:
Ctrl+E+D — форматирование всего документа, позволяет привести документ в более удобоваримый вид.
Ctrl+E+F — форматирование выбранной части текста

Иногда в целях рефакторинга или ещё каких-то благих начинаниях, есть смысл перевести все буквы в верхний или нижний регистр:
Ctrl+Shift+U — перевести выделенный блок в верхний регистр
Ctrl+U — перевести выделенный блок в нижний регистр

Небольшой экскурс в сборку и отладку

Конечно же со стороны хоткеев :)
Начнём со «сборки»:
Ctrl+Shift+B или F6 — собрать solution.
Shift+F6 — собрать активный проект.
Если честно, тут я немного пошаманил, заточив под себя, иногда бывает удобно пересобрать проект RebuildSolution, но почему-то хоткей для этого не предусмотрен, я поступил следующий образом:
F6 — собрать solution
Ctrl+Shift+B — пересобрать solution
Поступил я так из-за соображения, что иногда студия не выполняет пересборку проекта, а пишет «up-to-date», а мне нужно именно пересобрать.

Если появились ошибки, это плохо, но никто от них не застрахован:
F5 — запустить программу, с возможностью отладки. Или продолжить выполнение программы, после точки останова.
Ctrl+F5 — запустить программу без отладки
F9 — поставить/убрать точку останова — breakpoint
Ctrl+Shift+F9 — удалить все точки останова.
F10 — выполнить код, без захода внутрь
F11 — выполнить код, с заходом внутрь

В режиме отладки есть два типа просмотра — Watch и QuickWatch. Разница между ними выходит за рамки данного топика :).
Однако, вызвать QuickWatch вы можете нажав Ctrl+D, Q. Просто Watch — Ctrl+D, W.

PS: если кому-то оказалось «мало», то можно получить информацию в блоге Сары Форд, те кто не очень дружит с английским, есть возможность почитать переводы, которые появляются очень регулярно.

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

Иногда, чтобы найти ошибку и посмотреть, что к ней приводит, надо пройти какой-то участок кода по шагам, по которым программа проходит в момент выполнения.

Так же интересно увидеть, как при этом меняются данные программы (значения переменных): какие значения они принимают в определённые моменты времени. В Microsoft Visual Studio для такой работы, к счастью, есть отладчик. В этой статье будут рассмотрены основы работы с отладчиком.

Допустим, надо проанализировать и отладить следующий код:

Наберите его в Visual Studio. В этом коде нет синтаксических ошибок, которые не пропустил бы компилятор до начала выполнения программы. Программа начнет выполняться, проделает определенный участок работы и возникнет ошибка:

отладчик Microsoft Visual Studio, умная точка останова

Начнем отладку и посмотрим, в следствии чего произошла ошибка на этапе выполнения. Для этого, находясь в Visual Studio, надо нажать клавишу F10 . Программа начнет выполнятся и остановится на первой выполняемой строке. Вы увидите жёлтую стрелку возле той строки программы, которая выполняется в данный момент:

отладчик Microsoft Visual Studio, умная точка останова

Чтобы перейти к выполнению следующего шага, надо снова нажать на F10 . Желтая стрелка переместится на другую строку:

отладчик Microsoft Visual Studio, умная точка останова

отладчик Microsoft Visual Studio, умная точка останова

Тут переменная только создается и хранит какой-то мусор. При следующем нажатии на F10 стрелка переместится в строку 8. Во вкладке уже будет видно, что объявлена переменная i, а также какое значение приобрела переменная var55 .

отладчик Microsoft Visual Studio, умная точка останова

Нажимайте на F10 и смотрите, как изменяются данные. Когда вы будете проходить отладчиком по циклу четвертый раз, переменная i примет значение 0. Это и приводит к ошибке выполнения программы так как на 0 делить нельзя.

отладчик Microsoft Visual Studio, умная точка останова

отладчик Microsoft Visual Studio, умная точка останова

Точка останова (breakpoint) и Умная точка останова

На сайте msdn есть такое определение точки останова:

отладчик Microsoft Visual Studio, умная точка останова

Читайте также: