次の方法で共有


Debugger2.Stop メソッド (Boolean)

デバッグを中断し、アタッチされたすべてのプロセスを終了またはデタッチします。

名前空間:  EnvDTE80
アセンブリ:  EnvDTE80 (EnvDTE80.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 に設定します。

実装

Debugger.Stop(Boolean)

解説

詳細については、「方法 : デバッグの停止と実行の停止」を参照してください。

Stop メソッドの使用方法を次の例に示します。

このメソッドをテストするには

  1. ターゲット アプリケーションにブレークポイントを設定します。

  2. ターゲット アプリケーションをデバッグ モードで実行します。

  3. ブレークポイントでアプリケーションが停止したら、アドインを実行します。

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

注意

マクロは 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 セキュリティ

  • 直前の呼び出し元に対する完全な信頼。 このメンバーは、部分的に信頼されているコードから使用することはできません。 詳細については、「部分信頼コードからのライブラリの使用」を参照してください。

参照

参照

Debugger2 インターフェイス

Stop オーバーロード

EnvDTE80 名前空間