次の方法で共有


Debugger3.DetachAll メソッド

アタッチされたすべてのプログラムからデタッチします。

名前空間:  EnvDTE90
アセンブリ:  EnvDTE90 (EnvDTE90.dll 内)

構文

'宣言
Sub DetachAll
void DetachAll()
void DetachAll()
abstract DetachAll : unit -> unit 
function DetachAll()

解説

DetachAll は、アタッチされたすべてのプログラムからのデタッチを試みます。アタッチされているプロセスをデタッチできない場合、この操作は失敗します。詳細については、「方法 : すべてのプロセスをデタッチする」を参照してください。

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

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

  1. ターゲット アプリケーション コードで無限ループを使用します。

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

  3. アドインを実行します。

    デバッガーがターゲット アプリケーションからデタッチされます。

public static void DetachAll(EnvDTE80.DTE2 dte)
{
    // Setup debug Output window.
    Window w = 
    (Window)dte.Windows.Item(EnvDTE.Constants.vsWindowKindOutput);
    w.Visible = true;
    OutputWindow ow = (OutputWindow)w.Object;
    OutputWindowPane owp = ow.OutputWindowPanes.Add("DetachAll Method 
    Test");
    owp.Activate();

    EnvDTE90.Debugger3 debugger = (EnvDTE90.Debugger3)dte.Debugger;
    debugger.DetachAll();
    owp.OutputString("Detached all processes.");
}
Sub DetachAll()
    On Error Goto BadDetach
    DTE2.Debugger.DetachAll()
    Exit Sub

    BadDetach:
        MsgBox("Could not detach from all processes.")
End Sub

.NET Framework セキュリティ

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

参照

関連項目

Debugger3 インターフェイス

DetachAll オーバーロード

EnvDTE90 名前空間