Оператор Stop в Visual Basic
Оператор "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")