Debugger3.Stop 方法 (Boolean)

停止偵錯並且終止所有附加的處理序或中斷它們的連結。

命名空間:  EnvDTE90
組件:  EnvDTE90 (在 EnvDTE90.dll 中)

語法

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

參數

  • WaitForDesignMode
    型別:System.Boolean
    設定為 true,表示唯有當進入設計模式時,偵錯工作階段才必須停止。如果要停止偵錯,請設定為 false。不過,您必須先在巨集中執行其他工作,才能讓偵錯工具進入設計模式。

實作

Debugger2.Stop(Boolean)

備註

如需詳細資訊,請參閱HOW TO:停止偵錯或停止執行

範例

下列範例示範如何使用 Stop 方法。

若要測試這個方法:

  1. 在目標應用程式中設定中斷點。

  2. 在偵錯模式執行目標應用程式。

  3. 當應用程式在中斷點停止時,請執行增益集。

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
注意事項注意事項

巨集是在 Visual Studio 的主執行緒上執行。 因為 IDE 從未有機會進入設計模式,所以下列程式碼無法運作,而且巨集會無窮盡地以迴圈方式執行。 請改為使用不同的執行緒或共用機制。

' 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 安全性

請參閱

參考

Debugger3 介面

Stop 多載

EnvDTE90 命名空間