Compartilhar via


Método Debugger3.Stop (Boolean)

Interrompe a depuração e encerra ou desconecta-se de todos os processos anexados.

Namespace:  EnvDTE90
Assembly:  EnvDTE90 (em EnvDTE90.dll)

Sintaxe

'Declaração
Sub Stop ( _
    WaitForDesignMode As Boolean _
)
void Stop(
    bool WaitForDesignMode
)
void Stop(
    [InAttribute] bool WaitForDesignMode
)
abstract Stop : 
        WaitForDesignMode:bool -> unit 
function Stop(
    WaitForDesignMode : boolean
)

Parâmetros

  • WaitForDesignMode
    Tipo: System.Boolean
    Definido como true se a sessão de depuração deve interromper somente quando ele atingir o modo de Design.Definido como false se você pretende parar a depuração.No entanto, você precisará executar outras tarefas na macro antes que o depurador entra no modo de design.

Comentários

Para obter mais informações, consulte Como: parar a depuração ou parar a execução.

Exemplos

The following example shows how to use the Stop method.

Para testar esse método:

  1. Defina um ponto de interrupção no aplicativo de destino.

  2. Execute o aplicativo de destino no modo de depuração.

  3. Quando o aplicativo parar no ponto de interrupção, execute o add-in.

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çãoObservação

As macros são executadas no thread principal do Visual Studio.O código a seguir não funciona, e a macro repetido indefinidamente porque o IDE nunca tem uma oportunidade para entrar no modo de design.Em vez disso, use um thread separado ou o mecanismo do pool.

' 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

Segurança do .NET Framework

Consulte também

Referência

Debugger3 Interface

Sobrecargas Stop

Namespace EnvDTE90