Общие сведения о точках останова
Обновлен: Ноябрь 2007
Этот раздел применим для следующих версий.
Выпуск |
Visual Basic |
C# |
C++ |
Web Developer |
---|---|---|---|---|
Экспресс-выпуск |
||||
Standard |
||||
Pro и Team |
Условные обозначения:
Применимо |
|
Неприменимо |
|
Команда или команды по умолчанию скрыты. |
Следующие разделы содержат некоторые основные сведения о точках останова:
Глифы точек останова;
Простые точки останова;
Улучшенные точки останова;
Ограничения точек останова.
Глифы точек останова
Окна исходного кода и окно Дизассемблированный код отражают расположение точек останова символами в левом поле — глифами. Эти глифы описываются в следующей таблице.
Если задержать указатель мыши на глифе точки останова, появится подсказка с подробными сведениями о ней. Эта информация особенно полезна для точек останова ошибок и предупреждений.
Глиф |
Описание |
---|---|
Обычная точка останова. Залитый цветом глиф указывает, что точка останова включена. Пустой глиф указывает, что она отключена. |
|
Улучшенная точка останова. Активная или отключенная. Знак "+" показывает, что точка останова подключила по крайней мере одну дополнительную возможность (например, условие, число попаданий или фильтр). |
|
Сопоставленная точка останова. Активная или отключенная. Точка останова установлена в коде ASP/ASP.NET и сопоставлена с точкой останова на соответствующей HTML-странице или установлена в серверном файле сценария и сопоставлена соответствующему клиентскому файлу сценария. |
|
Точка трассировки. Активная или отключенная. Попадание на данную точку выполняет указанное действие, но не прерывает выполнение программы. |
|
Улучшенная точка трассировки. Активная или отключенная. Знак "+" показывает, что точка трассировки подключила по крайней мере одну дополнительную возможность (например, условие, число попаданий или фильтр). |
|
Сопоставленная точка трассировки. Активная или отключенная. Точка трассировки установлена в коде ASP/ASP.NET и сопоставлена с точкой трассировки на соответствующей HTML-странице. |
|
Точка останова или трассировки ошибки. "X" указывает, что точка останова или точка трассировки не может быть установлена из-за условия ошибки. |
|
Точка останова или точка трассировки предупреждения. Восклицательный знак указывает, что точка останова или точка трассировки не может быть установлена из-за временного условия. Обычно это означает, что код на строке точки останова или точки трассировки не был загружен. Или же при присоединении к процессу, когда символы для процесса не загрузились. При загрузке кода или символов точка останова будет включена и глиф изменится. |
Простые точки останова
Самые простые точки останова — те, которые установлены на строке исходного кода или функции. В следующих разделах описывается, как устанавливать и управлять этими основными точками останова:
Практическое руководство. Установка простой точки останова
Практическое руководство. Установка точки останова в функции
Практическое руководство. Удаление точки останова
Практическое руководство. Включение или отключение точки останова
Практическое руководство. Изменение расположения точек останова
Практическое руководство. Установка точки останова при вызове функции в окне стека вызовов
Примечание. |
---|
Если имеется более 64 000 строк кода в одном файле исходного кода, прерывания на точках останова, установленных после 64 000 строк, не будет. |
Несколько точек останова на строке
Иногда строка кода содержит более одного исполняемого оператора. В таких случаях можно устанавливать более одной точки останова на строке. Новая функция в Visual Studio 2008 — это окно, которое появляется вокруг оператора кода, содержащего текущую выбранную точку останова. Это окно можно использовать для того, чтобы различать несколько точек останова на одной строке кода. Можно выбрать точку останова в окне Точки останова или щелкнув инструкцию, содержащую точку останова, в окне исходного кода.
Улучшенные точки останова
При наличии Visual C++, экспресс-выпуск или Visual Studio, любой версии, можно устанавливать более сложные точки останова, создавать точки останова с дополнительными возможностями и изменять точки останова более мощными способами.
Для некоторых задач настройки IDE по умолчанию, выбранные при настройке Visual Studio, могут скрывать требуемые команды меню. Дополнительные сведения см. в разделе Практическое руководство. Восстановление скрытых команд отладчика.
Точки останова по адресу памяти и изменения в памяти
Можно установить точку останова по адресу памяти. Дополнительные сведения см. в разделе Практическое руководство. Установка точки останова для адреса. В С/С++ можно установить точку останова, которая прерывает выполнения при изменении памяти. Дополнительные сведения см. в разделе Практическое руководство. Установка точки останова для данных (только машинный код).
Фильтры, число попаданий и условия
Фильтры, число попаданий и условия — это дополнительные возможности, которые можно использовать с любыми типами точек останова, в том числе с точками отслеживания.
Фильтр устанавливает точку останова на указанных компьютерах, процессах и потоках. Фильтры очень полезны при отладке многопроцессорного приложения. Дополнительные сведения см. в разделе Практическое руководство. Установка фильтра точки останова.
Число попаданий отвечает за то, сколько раз была пройдена точка останова. По умолчанию выполнение прерывается всякий раз при достижении точки останова. Можно изменить это поведение так, что точка останова прерывает выполнение только при числе попаданий, равном или превышающем заданное значение, или если число попаданий кратно ему. Указанное число попаданий сохраняется только для сеанса отладки. Дополнительные сведения см. в разделе Практическое руководство. Установка числа попаданий.
Условие — это выражение, вычисляемое для определения, произойдет ли прерывание выполнения. Дополнительные сведения см. в разделе Практическое руководство. Установка условия точки останова.
Интерфейс улучшенных точек останова
Опытные пользователи воспользоваться дополнительными функциями, описанными в следующих разделах:
Практическое руководство. Использование окна точек останова
Практическое руководство. Отключение всех точек останова
Практическое руководство. Удаление всех точек останова
Ограничения точек останова
При отладке смешанного кода (машинного и управляемого) следует избегать установки точек останова в системных компонентах. Задание точки останова в системном компоненте при отладке смешанного кода может вызвать прерывание среды CLR и сбой отладчика. Дополнительные сведения см. в разделе Практическое руководство. Отладка приложений со смешанным режимом.
Отладчик не присоединяется к веб-службе XML автоматически, пока не зайдет пошаговым выполнением в вызов. Это означает, что все точки останова, установленные в веб-службах XML, не будут прерывать выполнение до тех пор, пока не будет шага с заходом в вызов. При попытке запуска с выполнением до точки останова с использованием команд Начать отладку или Продолжить вместо Шаг с заходом, останова не будет.
Сведения об ограничениях сопоставленных точек останова в файлах сценариев содержатся в разделе Ограничения на отладку сценариев.