Partilhar via


Declarações Stop no Visual Basic

A instrução Stop do Visual Basic fornece uma alternativa programática para definir um ponto de interrupção. Quando o depurador encontra uma instrução Stop, ele interrompe a execução do programa (entra no modo de interrupção). Programadores C# podem obter o mesmo efeito usando uma chamada para Debugger.Break.

Você define ou remove uma instrução Stop editando seu código-fonte. Não é possível definir ou limpar instruções Stop usando comandos do depurador, como faria com um ponto de paragem.

Ao contrário de uma instrução End, a instrução Stop não redefine variáveis nem retorna ao modo de design. Você pode escolher Continuar no menu Depurar para continuar executando o aplicativo.

Quando você executa um aplicativo Visual Basic fora do depurador, uma instrução Stop inicia o depurador se a depuração Just-in-Time estiver habilitada. Se a depuração Just-in-Time não estiver habilitada, a instrução Stop se comportará como se fosse uma instrução End e encerrará a execução. Nenhum evento QueryUnload ou Unload ocorre, portanto, você deve remover todas as instruções Stop da versão Release do seu aplicativo Visual Basic. Para obter mais informações, consulte Just-In-Time Depuração.

Para evitar a necessidade de remover instruções Stop, pode-se usar a compilação condicional:

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

Outra alternativa é usar uma Debug.Assert instrução em vez da instrução Stop. Uma Debug.Assert instrução interrompe a execução somente quando uma condição especificada não é atendida. Assert as instruções são removidas automaticamente quando você cria uma versão de lançamento. Para obter mais informações, consulte asserções no código gerenciado. Se você quiser uma Assert instrução que sempre interrompa a execução na versão de depuração, você pode fazer o seguinte:

Debug.Assert(false);

Outra alternativa é usar o Debug.Fail método:

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