Debugger3.Stop(Boolean) Método
Definição
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
Interrompe a depuração e termina ou desconecta-se de todos os processos anexados.
void Stop(bool WaitForDesignMode = true);
[System.Runtime.InteropServices.DispId(8)]
public void Stop (bool WaitForDesignMode = true);
[<System.Runtime.InteropServices.DispId(8)>]
abstract member Stop : bool -> unit
Public Sub Stop (Optional WaitForDesignMode As Boolean = true)
Parâmetros
- WaitForDesignMode
- Boolean
Defina como true se a sessão de depuração só deve parar quando atingir o modo de design. Defina como false se você pretende interromper a depuração. No entanto, você precisa executar outras tarefas na macro antes de o depurador entrar no modo de design.
Implementações
- Atributos
Exemplos
O exemplo a seguir mostra como usar o método Stop.
public static void Stop(EnvDTE80.DTE2 dte)
{
EnvDTE90.Debugger3 debugger = (EnvDTE90.Debugger3)dte.Debugger;
debugger.Stop(false);
}
' WaitForDesignMode is true.
Sub StopDebuggingAndNotifySync
DTE2.Debugger.Stop(True)
MsgBox("Debugger has been stopped, for sure.")
End Sub
' WaitForDesignMode is false.
Sub StopDebuggingAndNotifyAsync
DTE2.Debugger.Stop(False)
' Depending on how long it takes to stop debugging,
' you may or may not yet be in Design mode.
If DTE2.Debugger.CurrentMode <> dbgDebugMode.dbgDesignMode
MsgBox("Debugger still stopping")
Else
MsgBox("Debugger has been stopped")
End If
End Sub
Observação
As macros são executadas no thread principal do Visual Studio . O código a seguir não funciona e a macro é repetida indefinidamente porque o IDE nunca tem a oportunidade de entrar no modo de design. Em vez disso, use um mecanismo separado de thread ou de Pooling.
' Bad Code Example.
Sub StopDebuggingAndWaitForDesign
DTE2.Debugger.Stop(False)
While DTE2.Debugger.CurrentMode <> dbgDebugMode.dbgDesignMode
System.Threading.Thread.Sleep(50)
End While
MsgBox("Debugger has been stopped")
End Sub
Comentários
Para obter mais informações, consulte como: parar a execução.