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