Share via


Debugger.Stop メソッド

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

名前空間:  EnvDTE
アセンブリ:  EnvDTE (EnvDTE.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。

解説

Stop は、デバッグを中断し、アタッチされたプロセスを終了します。 詳細については、「<PAVEOVER> 方法: デバッグの停止と実行の停止」を参照してください。

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

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

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

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

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

public static void Stop(DTE dte)
{
    EnvDTE.Debugger debugger = (EnvDTE.Debugger)dte.Debugger;
    debugger.Stop(true);
}
Shared Sub Stop(ByRef dte As EnvDTE.DTE)
    dte.Debugger. Stop(True)
End Sub

' WaitForDesignMode is true
Sub StopDebuggingAndNotifySync
    DTE.Debugger.Stop(True)
    MsgBox("Debugger has been stopped, for sure.")
End Sub

' WaitForDesignMode is false
Sub StopDebuggingAndNotifyAsync

    DTE.Debugger.Stop(False)

     ' Depending on how long it takes to stop debugging, 
     ' the environment may or may not yet be in Design mode.
    If DTE.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
    DTE.Debugger.Stop(False)

    While DTE.Debugger.CurrentMode <> dbgDebugMode.dbgDesignMode
        System.Threading.Thread.Sleep(50)
    End While

    MsgBox("Debugger has been stopped")

End Sub

.NET Framework セキュリティ

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

参照

関連項目

Debugger インターフェイス

EnvDTE 名前空間