Istruzioni Stop in Visual Basic

Aggiornamento: novembre 2007

Le informazioni contenute in questo argomento sono valide per:

Edition

Visual Basic

C#

C++

Web Developer

Express

Argomento applicabile Argomento non applicabile Argomento non applicabile Argomento applicabile

Standard

Argomento applicabile Argomento non applicabile Argomento non applicabile Argomento applicabile

Pro e Team

Argomento applicabile Argomento non applicabile Argomento non applicabile Argomento applicabile

Legenda tabella:

Argomento applicabile

Applicabile

Argomento non applicabile

Non applicabile

Argomento valido ma comando nascosto per impostazione predefinita

Comando o comandi nascosti per impostazione predefinita.

L'istruzione Stop di Visual Basic fornisce un'alternativa a livello di codice all'impostazione di un punto di interruzione. Quando il debugger rileva un'istruzione Stop, viene interrotta l'esecuzione del programma, ossia viene attivata la modalità di interruzione. I programmatori C# possono ottenere lo stesso risultato tramite una chiamata a System.Diagnostics.Debugger.Break.

Per impostare o rimuovere un'istruzione Stop, è necessario modificare il codice sorgente. Le istruzioni Stop non possono essere impostate né rimosse mediante i comandi del debugger, come invece avviene per i punti di interruzione.

A differenza di un'istruzione End, l'istruzione Stop non reimposta le variabili né consente di tornare alla modalità di progettazione. Per continuare l'esecuzione dell'applicazione, scegliere Continua dal menu Debug.

Quando un'applicazione Visual Basic viene eseguita all'esterno del debugger, un'istruzione Stop avvierà il debugger se è attivato il debug JIT. Se invece il debug JIT non è attivato, l'istruzione Stop si comporterà come un'istruzione End e terminerà l'esecuzione. Poiché non si verificherà alcun evento QueryUnload o Unload, sarà necessario rimuovere tutte le istruzioni Stop dalla versione di rilascio dell'applicazione Visual Basic. Per ulteriori informazioni, vedere Debug JIT.

Per evitare di dover rimuovere le istruzioni Stop, è possibile utilizzare la compilazione condizionale:

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

È inoltre possibile utilizzare un'istruzione Assert anziché l'istruzione Stop. Un'istruzione Debug.Assert interrompe l'esecuzione solo quando non viene soddisfatta una condizione specificata e viene rimossa automaticamente quando si genera una versione di rilascio. Per ulteriori informazioni, vedere Asserzioni nel metodo gestito. Se si desidera un'istruzione Assert che interrompa sempre l'esecuzione nella versione di debug, è possibile specificare:

Debug.Assert(false)

Un'altra alternativa consiste nell'utilizzo del metodo Debug.Fail:

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

Vedere anche

Concetti

Protezione del debugger

Altre risorse

Preparazione al debug: tipi di progetti C# e Visual Basic

Debug del codice gestito