Поделиться через


Оператор Stop в Visual Basic

Этот раздел применим к:

Выпуск

Visual Basic

C#

C++

Web Developer

Express

Тема применяется Тема не применяется Тема не применяется Тема применяется

Pro, Premium и Ultimate

Тема применяется Тема не применяется Тема не применяется Тема применяется

Оператор "Stop" в Visual Basic является программной альтернативой заданию точки останова. Когда отладчик встречает оператор "Stop", он прерывает выполнение программы (переходит в режим приостановки выполнения). Программисты C# могут добиться того же результата с помощью вызова System.Diagnostics.Debugger.Break.

Оператор "Stop" задается и удаляется путем редактирования исходного кода. В отличие от точки останова его невозможно задать или удалить с помощью команд отладчика.

В отличие от оператора "End" оператор "Stop" не сбрасывает значения переменных и не переводит приложение в режим разработки. Для продолжения выполнения приложения можно выбрать пункт "Продолжить" в меню "Отладка".

В случае запуска приложения Visual Basic вне отладчика оператор "Stop" запустит отладчик, если включена JIT–отладка. Если же JIT–отладка не включена, оператор "Stop" приведет к завершению работы приложения, как если бы это был оператор "End". При этом события "QueryUnload" и "Unload" не возникают, поэтому в выпускаемой версии приложения Visual Basic необходимо удалить все операторы "Stop". Дополнительные сведения см. в разделе JIT–отладка.

Чтобы избежать необходимости удаления операторов "Stop", можно использовать условную компиляцию:

#If DEBUG Then
   Stop
#Else
   ' Don't stop
#End If

Другой вариант — воспользоваться оператором "Assert" вместо оператора "Stop". Оператор "Debug.Assert" прерывает выполнение программы только в том случае, если не выполнено заданное условие, и автоматически удаляется при построении выпускаемой версии приложения. Дополнительные сведения см. в разделе Утверждения в управляемом коде. Если требуется, чтобы оператор "Assert" всегда прерывал выполнение программы в отладочной версии, его можно задать следующим образом:

Debug.Assert(false)

И еще один вариант — использовать метод Debug.Fail:

Debug.Fail("a clever output string goes here")

См. также

Основные понятия

Безопасность отладчика

Другие ресурсы

Подготовка к отладке: типы проектов C#, F# и Visual Basic

Отладка управляемого кода