共用方式為


Debugger3.Stop 方法

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

命名空間:  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
    類型:Boolean

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

備註

如需詳細資訊,請參閱<PAVEOVER> 如何:停止偵錯或停止執行

範例

下列範例示範如何使用 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 介面

EnvDTE90 命名空間