Condividi tramite


Metodo Debugger3.Stop

Interrompe il debug e termina o disconnette tutti i processi collegati.

Spazio dei nomi:  EnvDTE90
Assembly:  EnvDTE90 (in EnvDTE90.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: Boolean

    Impostare su true se la sessione di debug deve essere interrotta solo quando viene attivata la modalità progettazione. Impostare su false se si intende arrestare il debug. È tuttavia necessario eseguire le altre attività nella macro prima che il debugger entri in modalità progettazione.

Note

Per ulteriori informazioni, vedere <PAVEOVER> Procedura: arrestare il debug o arrestare l'esecuzione.

Esempi

Nell'esempio seguente viene illustrato come utilizzare il metodo Stop.

Per verificare il metodo:

  1. Impostare un punto di interruzione nell'applicazione di destinazione.

  2. Eseguire l'applicazione di destinazione in modalità debug.

  3. Quando l'applicazione si interrompe al punto di interruzione, eseguire il componente aggiuntivo.

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

Nota

Le macro vengono eseguite sul thread principale di Visual Studio.Il codice seguente non funziona e la macro esegue un ciclo infinito perché nell'IDE non è mai possibile attivare la modalità progettazione.In alternativa, ricorrere a un thread separato o a un meccanismo di 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

Sicurezza di .NET Framework

Vedere anche

Riferimenti

Debugger3 Interfaccia

Spazio dei nomi EnvDTE90