Aracılığıyla paylaş


Debugger2.Stop Yöntem (Boolean)

Hata ayıklama durdurur ve sonlandırır veya ekli tüm işlemlerini ayırır.

Ad alanı:  EnvDTE80
Derleme:  EnvDTE80 (EnvDTE80.dll içinde)

Sözdizimi

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

Parametreler

  • WaitForDesignMode
    Tür: System.Boolean
    Ayarlamak true , hata ayıklama oturumu yalnızca Tasarım modunda ulaştığında durdurmanız gerekir.Ayarlamak false Hata ayýklamayý durdurun düşündüğünüz ancak hata ayıklayıcı tasarım moduna girmeden önce bile makro diğer görevleri gerçekleştirmek gereksinim duyduğunuz.

Notlar

Daha fazla bilgi için bkz. Nasıl yapılır: Hata ayýklamayý durdurun veya yürütme durdurma.

Örnekler

Aşağıdaki örnek, nasıl kullanılacağını gösterir Stop yöntemi.

Bu yöntem test etmek için:

  1. Bir kesme noktası hedef uygulamada ayarlayın.

  2. Hedef uygulama hata ayıklama modunda çalıştırın.

  3. Uygulama kesme noktasında durur eklentiyi çalıştırın.

public static void Stop(EnvDTE80.DTE2 dte)
{
    EnvDTE80.Debugger2 debugger = (EnvDTE80.Debugger2)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

[!NOT]

Makroları ana iş parçacığı üzerinde çalıştırmak Visual Studio.Aşağıdaki kod çalışmaz ve IDE tasarım moduna girmek için bir şans hiçbir zaman sahip olduğu makro sonsuza kadar döngüsü.Bunun yerine, ayrı bir iş parçacığı veya mekanizması havuzu bırakır.

' 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

.NET Framework Güvenliği

Ayrıca bkz.

Başvuru

Debugger2 Arabirim

Stop Fazla Yük

EnvDTE80 Ad Alanı