Ескертпе
Бұл бетке кіру үшін қатынас шегін айқындау қажет. Жүйеге кіруді немесе каталогтарды өзгертуді байқап көруге болады.
Бұл бетке кіру үшін қатынас шегін айқындау қажет. Каталогтарды өзгертуді байқап көруге болады.
Точки останова — это один из наиболее важных методов отладки в арсенале разработчика. Вы устанавливаете точки останова везде, где вы хотите приостановить выполнение отладчика. Например, может потребоваться оценить состояние переменных кода или изучить стек вызовов на конкретной точке останова.
Установка точек останова в исходном коде
Точку останова можно задать в любой строке исполняемого кода. Например, рассмотрим этот простой код C#, который создает простой цикл.
int testInt = 3;
for (int i = 0; i < 10; i++)
{
testInt += i;
}
Можно задать точку останова в строке кода с присваиванием переменной (int testInt = 3), в строке кода с циклом for, или в любом коде внутри цикла for. Невозможно установить точку останова на сигнатуре метода, объявлении пространства имен или класса, или объявлении переменной, если нет присвоения и методов доступа (getter/setter).
Чтобы задать точку останова в исходном коде, выполните следующее:
- Щелкните в крайнем левом поле рядом со строкой кода. Вы также можете выбрать строку и нажать F9, выбрать Отладка>Переключить точку останова или щелкнуть правой кнопкой мыши и выбрать Точка останова>Вставить точку останова. Точка останова отображается как красная точка в левом поле.
Для большинства языков (включая C#), Visual Studio автоматически выделяет точки останова и текущие строки выполнения. Для некоторых языков, таких как C++, которые не выделены по умолчанию, можно включить выделение точек останова и текущих строк.
Откройте область"Параметры>", разверните раздел"Общие>>" и установите флажок "Выделить всю исходную строку" для точек останова и текущей инструкции (только C++).
Откройте диалоговое окно«Инструменты>Параметры», разверните раздел«Отладка>Общие» и установите флажок «Выделять всю исходную строку для точек останова и текущего оператора (только C++)». Выберите ОК, чтобы применить изменения.
Чтобы выполнить отладку, нажмите клавишу F5или выберите>"Начать отладку".
При отладке выполнение приостанавливается в точке останова перед выполнением кода в этой строке. В символе точки останова отображается желтая стрелка.
В точке останова в следующем примере значение testInt по-прежнему равно 3. Таким образом, значение не изменилось, так как переменная была инициализирована (задано значением 3), так как инструкция в желтом цвете еще не выполнена.
Когда отладчик останавливается в точке останова, можно просмотреть текущее состояние приложения, включая значения переменных и стек вызовов.
Например, на следующем рисунке можно увидеть значение testInt в подсказке данных и в окне «Локальные».
Ниже приведены несколько общих инструкций по работе с точками останова.
Точка останова — это переключатель. Вы можете щелкнуть его, нажать клавишу F9 или использовать Отладка>Переключить точку останова для удаления или повторного добавления.
Чтобы отключить точку останова без удаления, наведите указатель мыши или щелкните ее правой кнопкой мыши и выберите "Отключить точку останова". Отключенные точки останова отображаются как пустые кружки в левой части поля или в окне Breakpoints. Чтобы повторно включить точку останова, наведите указатель мыши или щелкните ее правой кнопкой мыши и выберите "Включить точку останова".
Задайте условия и действия, добавьте и измените метки, или экспортируйте точку останова, щелкнув ее правой кнопкой мыши и выбрав соответствующую команду или наведите указатель мыши на нее и выберите значок "Параметры ".
Типы точек останова
Visual Studio поддерживает различные типы точек останова для поддержки различных сценариев отладки, таких как условные точки останова, которые активируются только на основе указанных критериев. Дополнительные сведения см. в разделе Использование правильного типа точки останова.
Управление точками останова в окне точек останова
Окно точек останова можно использовать для просмотра всех точек останова в решении и управления ими. Это централизованное расположение особенно полезно в большом решении или в сложных сценариях отладки, где точки останова критически важны.
В окне точек останова можно выполнять поиск, сортировку, фильтрацию, включение и отключение или удаление точек останова. Вы также можете задать условия и действия или добавить новую функцию или точку останова данных.
Чтобы открыть окно точек останова, выберите "Отладка>точек останова>" или нажмите клавиши CTRL+ALT+B.
Чтобы выбрать столбцы, отображаемые в окне точек останова , выберите "Показать столбцы". Выберите заголовок столбца, чтобы отсортировать список точек останова по выбранному столбцу.
Метки точек останова
Метки можно использовать для сортировки и фильтрации списка точек останова в окне точек останова .
- Чтобы добавить метку в точку останова, щелкните правой кнопкой мыши точку останова в исходном коде или окне точек останова и выберите пункт "Изменить метки". Добавьте новую метку или выберите существующую, а затем нажмите кнопку "ОК".
- Сортируйте список точек останова в окне точек останова , выбрав метки, условия или другие заголовки столбцов. Вы можете выбрать столбцы для отображения, нажав кнопку "Показать столбцы " на панели инструментов.
Группы точек останова
Для сложных сценариев отладки может потребоваться создать группы точек останова для упорядочивания точек останова. Это позволяет быстро включать и отключать логические группировки точек останова в зависимости от текущей ситуации, в которой вы проводите отладку.
Точки останова можно создать в окне точек останова , выбрав новую > группу точек останова и указав имя группы. Чтобы добавить точку останова в группу, щелкните правой кнопкой мыши по точке останова и выберите Добавить в группу точек останова><. Или перетащите точки останова в нужную группу.
Чтобы задать группу точек останова по умолчанию, щелкните правой кнопкой мыши группу и выберите "Задать как группу точек останова по умолчанию". При настройке группы точек останова по умолчанию вновь созданные точки останова автоматически добавляются в группу.
Экспорт и импорт точек останова
Чтобы сохранить или поделиться состоянием и расположением точек останова, можно экспортировать или импортировать их.
Начиная с Visual Studio 2022 версии 17.12 (предварительная версия 3), группы точек останова также включаются в экспортированные и импортированные точки останова.
- Чтобы экспортировать одну точку останова в XML-файл, щелкните правой кнопкой мыши по точке останова в исходном коде или в окне Точки остановки, и выберите пункт Экспорт или Экспорт выбранных. Выберите расположение экспорта и нажмите кнопку "Сохранить". Расположение по умолчанию — это папка решения.
- Чтобы экспортировать несколько точек останова, в окне точек останова выберите поля рядом с точками останова или введите условия поиска в поле поиска . Выберите значок Экспорт всех точек останова, соответствующих текущим условиям поиска, и сохраните файл.
- Чтобы экспортировать все точки останова, снимите флажки со всех полей и оставьте поле Search пустым. Выберите значок Экспорт всех точек останова, соответствующих текущим условиям поиска, и сохраните файл.
- Чтобы импортировать точки останова, в окне точки останова выберите значок Импорт точек останова из файла, перейдите к местоположению XML-файла и нажмите Открыть.
Устанавливайте точки останова из окон отладчика
Можно также задать точки останова в окнах отладчика Стек вызовов и Дизассембли.
Установите точку останова в окне "Стек вызовов"
Чтобы разорвать инструкцию или строку, в которую возвращается вызывающая функция, можно задать точку останова в окне стека вызовов .
Чтобы задать точку останова в окне стека вызовов, выполните следующие действия.
Чтобы открыть окно стека вызовов, необходимо быть на паузе во время отладки. Выберите "Отладка>Windows>стек вызовов" или нажмите клавиши CTRL+ALT+C.
В окне стека вызовов щелкните правой кнопкой мыши функцию вызова и выберите точку> остановавставить точку останова или нажмите клавишу F9.
Символ точки останова отображается рядом с именем вызова функции в левом поле стека вызовов.
Точка останова стека вызовов отображается в окне точек останова в качестве адреса с расположением памяти, соответствующим следующей инструкции исполняемого файла в функции.
Отладчик прерывает инструкцию.
Дополнительные сведения о стеке вызовов см. в разделе "Практическое руководство. Использование окна стека вызовов".
Сведения о визуальной трассировке точек останова во время выполнения кода см. в разделе "Сопоставление методов в стеке вызовов" во время отладки.
Установка точки останова в окне "Дизассембли"
Чтобы открыть окно дизассембли, необходимо быть на паузе при отладке. Выберите "Отладка>Windows>Дизассембли" или нажмите клавиши CTRL+ALT+D.
В окне дизассембли щелкните в левой границе той инструкции, на которой вы хотите установить точку останова. Вы также можете выбрать его и нажать F9 или щелкнуть правой кнопкой мыши и выбрать Точку останова>Вставить Точку останова.