更新 : 2007 年 11 月
アタッチされたすべてのプロセスのデバッグ、終了、またはデタッチを中断します。
名前空間 : EnvDTE
アセンブリ : EnvDTE (EnvDTE.dll 内)
構文
'宣言
Sub Stop ( _
WaitForDesignMode As Boolean _
)
'使用
Dim instance As Debugger
Dim WaitForDesignMode As Boolean
instance.Stop(WaitForDesignMode)
void Stop(
bool WaitForDesignMode
)
void Stop(
[InAttribute] bool WaitForDesignMode
)
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
アクセス許可
- 直前の呼び出し元に対する完全な信頼。このメンバは、部分的に信頼されているコードから使用することはできません。詳細については、「部分信頼コードからのライブラリの使用」を参照してください。
メモ :