Método Debugger.Stop
Interrompe a depuração, finalizando ou desconectando todos os processos anexados.
Namespace: EnvDTE
Assembly: EnvDTE (em EnvDTE.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: BooleanDefinido 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, mas você precisa executar outras tarefas na macro até mesmo antes do depurador entra no modo de Design.
Comentários
StopInterrompe a depuração e encerra o processo anexado. Consulte <PAVEOVER> Como parar a depuração ou a execução para obter mais informações.
Exemplos
O exemplo a seguir demonstra como usar o Stop método.
Para testar esse método:
Defina um ponto de interrupção no aplicativo de destino.
Execute o aplicativo de destino no modo de depuração.
Quando o aplicativo parar no ponto de interrupção, execute o add-in.
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
Dica
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 ambiente de desenvolvimento integrado (IDE) nunca tem a chance de entrar no modo de Design.Em vez disso, você deve recorrer a um thread separado ou o mecanismo do pool.
' 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
Segurança do .NET Framework
- Confiança total para o chamador imediato. O membro não pode ser usado por código parcialmente confiável. Para obter mais informações, consulte Usando bibliotecas de código parcialmente confiável.