Metodo Debugger.Stop
Interrompe l'operazione di debug, interruzione o disconnessione di tutti i processi connessi.
Spazio dei nomi: EnvDTE
Assembly: EnvDTE (in EnvDTE.dll)
Sintassi
'Dichiarazione
Sub Stop ( _
WaitForDesignMode As Boolean _
)
void Stop(
bool WaitForDesignMode
)
void Stop(
[InAttribute] bool WaitForDesignMode
)
abstract Stop :
WaitForDesignMode:bool -> unit
function Stop(
WaitForDesignMode : boolean
)
Parametri
- WaitForDesignMode
Tipo: System.Boolean
Impostare su true per interrompere la sessione di debug solo quando entra in modalità progettazione.Impostare su false se si desidera interrompere il debug, ma è necessario eseguire altre attività all'interno delle macro, anche prima che il debugger entri in modalità progettazione.
Note
Il metodo Stop interrompe il debug e termina i processi connessi. Per ulteriori informazioni, vedere How to: Stop Debugging or Stop Execution.
Esempi
Nell'esempio riportato di seguito viene illustrato come utilizzare il metodo Stop.
Per verificare il metodo:
Impostare un punto di interruzione nell'applicazione di destinazione.
Eseguire l'applicazione di destinazione in modalità di debug.
Quando l'applicazione si interrompe al punto di interruzione, eseguire il componente aggiuntivo.
public static void Stop(DTE dte)
{
EnvDTE.Debugger debugger = (EnvDTE.Debugger)dte.Debugger;
debugger.Stop(true);
}
Shared Sub Stop(ByRef dte As EnvDTE.DTE)
dte.Debugger. Stop(True)
End Sub
' WaitForDesignMode is true
Sub StopDebuggingAndNotifySync
DTE.Debugger.Stop(True)
MsgBox("Debugger has been stopped, for sure.")
End Sub
' WaitForDesignMode is false
Sub StopDebuggingAndNotifyAsync
DTE.Debugger.Stop(False)
' Depending on how long it takes to stop debugging,
' the environment may or may not yet be in Design mode.
If DTE.Debugger.CurrentMode <> dbgDebugMode.dbgDesignMode
MsgBox("Debugger still stopping")
Else
MsgBox("Debugger has been stopped")
End If
End Sub
Nota
Le macro vengono eseguite nel thread principale di Visual Studio. Il codice riportato di seguito non funziona e la macro esegue un ciclo infinito, poiché non è possibile per l'ambiente di sviluppo integrato (IDE) l'entrata in modalità progettazione. In tal caso è necessario ricorrere a un thread separato o a un meccanismo di pooling.
' Bad Code Example.
Sub StopDebuggingAndWaitForDesign
DTE.Debugger.Stop(False)
While DTE.Debugger.CurrentMode <> dbgDebugMode.dbgDesignMode
System.Threading.Thread.Sleep(50)
End While
MsgBox("Debugger has been stopped")
End Sub
Sicurezza di .NET Framework
- Attendibilità totale per il chiamante immediato. Impossibile utilizzare questo membro in codice parzialmente attendibile. Per ulteriori informazioni, vedere Utilizzo di librerie da codice parzialmente attendibile.