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
型 : System.Boolean
デザイン モードになったときにだけデバッグ セッションを中断する場合は true。デバッガーがデザイン モードになる前でもデバッグを中断する一方で、マクロ内の他のタスクを実行する必要がある場合は false。
解説
Stop は、デバッグを中断し、アタッチされたプロセスを終了します。詳細については、「方法 : デバッグの停止と実行の停止」を参照してください。
例
Stop メソッドを使用する方法の例を次に示します。
このメソッドをテストするには
ターゲット アプリケーションにブレークポイントを設定します。
ターゲット アプリケーションをデバッグ モードで実行します。
ブレークポイントでアプリケーションが停止したら、アドインを実行します。
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 セキュリティ
- 直前の呼び出し元に対する完全な信頼。このメンバーは、部分的に信頼されているコードから使用することはできません。詳細については、「部分信頼コードからのライブラリの使用」を参照してください。