次の方法で共有


Debugger3 インターフェイス

Debugger3 を使用すると、デバッガーの状態やデバッグ中のプログラムの状態を問い合わせたり、操作したりできます。Debugger3 は、Debugger2 インターフェイスおよび Debugger インターフェイスよりも優先されます。

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

構文

'宣言
<GuidAttribute("87DFC8DA-67B4-4954-BB89-6A277A50BAFC")> _
Public Interface Debugger3 _
    Inherits Debugger2
[GuidAttribute("87DFC8DA-67B4-4954-BB89-6A277A50BAFC")]
public interface Debugger3 : Debugger2
[GuidAttribute(L"87DFC8DA-67B4-4954-BB89-6A277A50BAFC")]
public interface class Debugger3 : Debugger2
[<GuidAttribute("87DFC8DA-67B4-4954-BB89-6A277A50BAFC")>]
type Debugger3 =  
    interface
        interface Debugger2
    end
public interface Debugger3 extends Debugger2

Debugger3 型で公開されるメンバーは以下のとおりです。

プロパティ

  名前 説明
パブリック プロパティ AllBreakpointsLastHit (Debugger2 から継承されます。)
パブリック プロパティ AllBreakpointsLastHit 最後に同時にヒットした、バインドされているブレークポイントのコレクションを取得します。
パブリック プロパティ BreakpointLastHit (Debugger2 から継承されます。)
パブリック プロパティ BreakpointLastHit 最新のブレークポイント ヒットを取得します。
パブリック プロパティ Breakpoints (Debugger2 から継承されます。)
パブリック プロパティ Breakpoints ブレークポイントのコレクションを取得します。
パブリック プロパティ CurrentMode (Debugger2 から継承されます。)
パブリック プロパティ CurrentMode IDE のコンテキストのデバッガーの現在のモードを取得します。
パブリック プロパティ CurrentProcess (Debugger2 から継承されます。)
パブリック プロパティ CurrentProcess アクティブなプロセスを取得するか、または設定します。
パブリック プロパティ CurrentProgram (Debugger2 から継承されます。)
パブリック プロパティ CurrentProgram アクティブなプログラムを設定するか、または返します。
パブリック プロパティ CurrentStackFrame (Debugger2 から継承されます。)
パブリック プロパティ CurrentStackFrame 現在のスタック フレームを取得するか、または設定します。
パブリック プロパティ CurrentThread (Debugger2 から継承されます。)
パブリック プロパティ CurrentThread デバッグ中の現在のスレッドを取得するか、または設定します。
パブリック プロパティ DebuggedProcesses (Debugger2 から継承されます。)
パブリック プロパティ DebuggedProcesses デバッグ中のプロセスのリストを取得します。
パブリック プロパティ DTE (Debugger2 から継承されます。)
パブリック プロパティ DTE トップ レベルの機能拡張オブジェクトを取得します。
パブリック プロパティ ExceptionGroups デバッガーの例外設定を取得します。これらの設定では、各例外について、デバッガーが実行を中断する前にコードで例外を処理できるようにするかどうかを指定します。
パブリック プロパティ ForceContinue トレースポイントまたはブレークポイントがマクロの実行を終了したときにデバッガーが中断されるか続行されるかを指定する値を、取得または設定します。既定の動作は、トレースポイントまたはブレークポイントの作成時に、ユーザーがダイアログ ボックスで設定します。このプロパティは、既定の動作の変更に使用できます。
パブリック プロパティ HexDisplayMode (Debugger2 から継承されます。)
パブリック プロパティ HexDisplayMode 式を 16 進形式と 10 進形式のどちらの形式で出力するかを示す値を取得または設定します。
パブリック プロパティ HexInputMode (Debugger2 から継承されます。)
パブリック プロパティ HexInputMode 式を 16 進形式と 10 進形式のどちらの形式で評価するかを示す値を取得または設定します。
パブリック プロパティ Languages (Debugger2 から継承されます。)
パブリック プロパティ Languages デバッガーがサポートしている言語のリストを取得します。
パブリック プロパティ LastBreakReason (Debugger2 から継承されます。)
パブリック プロパティ LastBreakReason 最後にプログラムが中断されたときの原因を取得します。プログラムが実行中の場合は、DBG_REASON_NONE を返します。
パブリック プロパティ LocalProcesses (Debugger2 から継承されます。)
パブリック プロパティ LocalProcesses このコンピューター上で現在実行されているプロセスのリストを取得します。
パブリック プロパティ OnlyLoadSymbolsManually シンボルが手動で読み込まれるか自動的に読み込まれるかを指定する値を取得します。Visual Studio のユーザーは、この設定を [オプション] ダイアログ ボックスで決定できます。Visual Studio 内でこの値を設定する方法の詳細については、「方法: シンボルの場所と読み込み動作を指定する」を参照してください。
パブリック プロパティ Parent (Debugger2 から継承されます。)
パブリック プロパティ Parent Debugger3 オブジェクト (DTE2) の直接の親オブジェクトを取得します。
パブリック プロパティ SymbolCachePath シンボル サーバーからシンボルをダウンロードするときに Visual Studio が使用するシンボル キャッシュのパスを含む文字列を取得します。シンボル キャッシュのパスは、[オプション] ダイアログ ボックスで指定できます。詳細については、「方法 : シンボル サーバーを使用する」を参照してください。
パブリック プロパティ SymbolPath Visual Studio がデバッグに使用する .PDB シンボル ファイルのパスを含む文字列を取得します。Visual Studio のユーザーは、シンボル パスを [オプション] ダイアログ ボックスで指定できます。詳細については、「方法: シンボルの場所と読み込み動作を指定する」を参照してください。
パブリック プロパティ SymbolPathState Visual Studio がデバッグに使用する .PDB シンボル ファイルのすべてのシンボル パスの状態を表す文字列を取得します。
パブリック プロパティ Transports (Debugger2 から継承されます。)
パブリック プロパティ Transports サポートされているデバッグ トランスポートのコレクションを取得します。

このページのトップへ

メソッド

  名前 説明
パブリック メソッド Break(Boolean) (Debugger2 から継承されます。)
パブリック メソッド Break(Boolean) 指定されたプロセスの現在の状態を解析するために、そのプロセスの実行を一時中断します。
パブリック メソッド DetachAll() (Debugger2 から継承されます。)
パブリック メソッド DetachAll() アタッチされたすべてのプログラムからデタッチします。
パブリック メソッド ExecuteStatement(String, Int32, Boolean) (Debugger2 から継承されます。)
パブリック メソッド ExecuteStatement(String, Int32, Boolean) 指定されたステートメントを実行します。 TreatAsExpression フラグが true の場合、文字列は式として解釈され、コマンド ウィンドウ に出力が送られます。
パブリック メソッド GetExpression(String, Boolean, Int32) (Debugger2 から継承されます。)
パブリック メソッド GetExpression(String, Boolean, Int32) 現在のスタック フレームに基づく式を評価します。式が解析はできるが評価できない場合、オブジェクトは返されますが、そのオブジェクトに有効な値は含まれていません。
パブリック メソッド GetExpression2(String, Boolean, Boolean, Int32) (Debugger2 から継承されます。)
パブリック メソッド GetExpression2(String, Boolean, Boolean, Int32) 現在のスタック フレームに基づく式を評価します。式が解析はできるが評価できない場合、オブジェクトは返されますが、そのオブジェクトに有効な値は含まれていません。このメンバー関数は GetExpression に似ていますが、追加のブール値パラメーターを持ちます。式がステートメントとして評価されることを示すには、このブール値パラメーターを true に設定します。
パブリック メソッド GetProcesses(Transport, String) (Debugger2 から継承されます。)
パブリック メソッド GetProcesses(Transport, String)
パブリック メソッド Go(Boolean) (Debugger2 から継承されます。)
パブリック メソッド Go(Boolean) 現在のステートメントからプログラムを実行します。
パブリック メソッド RunToCursor(Boolean) (Debugger2 から継承されます。)
パブリック メソッド RunToCursor(Boolean) プログラムを、ソース ファイルの現在のカーソル位置まで実行します。
パブリック メソッド SetNextStatement() (Debugger2 から継承されます。)
パブリック メソッド SetNextStatement() 現在のソース ファイルのカーソル位置に従って、次に実行する命令を設定します。
パブリック メソッド SetSymbolSettings Visual Studio がデバッグに使用する .PDB シンボルの各種設定を指定し、すべてのシンボルの再読み込みを強制します。
パブリック メソッド StepInto(Boolean) (Debugger2 から継承されます。)
パブリック メソッド StepInto(Boolean) 可能な場合は、次の関数呼び出しにステップ インします。
パブリック メソッド StepOut(Boolean) (Debugger2 から継承されます。)
パブリック メソッド StepOut(Boolean) 現在の関数からステップ アウトします。
パブリック メソッド StepOver(Boolean) (Debugger2 から継承されます。)
パブリック メソッド StepOver(Boolean) 次の関数呼び出しにステップ オーバーします。
パブリック メソッド Stop(Boolean) (Debugger2 から継承されます。)
パブリック メソッド Stop(Boolean) デバッグを中断し、アタッチされたすべてのプロセスを終了またはデタッチします。
パブリック メソッド TerminateAll() (Debugger2 から継承されます。)
パブリック メソッド TerminateAll() 現在実行されているデバッグ プロセスをすべて終了します。
パブリック メソッド WriteMinidump(String, dbgMinidumpOption) (Debugger2 から継承されます。)
パブリック メソッド WriteMinidump(String, dbgMinidumpOption)

このページのトップへ

解説

デバッガーは、以下の例に示すように、Debugger プロパティを使用して DTE2 オブジェクトを通じて利用できます。IDE (統合開発環境) で 1 つのデバッガー オブジェクトを利用できます。

Imports System
Imports EnvDTE
Imports EnvDTE90
Imports EnvDTE90
Imports System.Diagnostics

Public Module Module1
    'This function returns true if the debugger is actively debugging.
    Function IsDebugging() As Boolean
        Dim debugger As EnvDTE90.Debugger3
        debugger = DTE.Debugger
        If (debugger Is Nothing) Then
            MsgBox("Debugger doesn't exist! Fatal error.")
            IsDebugging = false
        Else
            IsDebugging = (debugger.CurrentMode <> _
            dbgDebugMode.dbgDesignMode)
        End If
    End Function
End Module
// The following C++ program can be run from the command line.
// It detects whether an instance of Visual Studio is currently 
// running,and if so, prints a message stating whether its debugger
// is actively debugging.

#include <stdio.h>
#import "dte90.olb" raw_interfaces_only named_guids
using namespace EnvDTE90;
int main(void)
{
    int nRet = 0;
    CoInitialize(NULL);
    IUnknownPtr pUnk;
    GetActiveObject(CLSID_DTE, NULL, &pUnk);
    if (pUnk == NULL) {
        printf ("No instance of Visual Studio is running.\n");
    }
    else {
        _DTEPtr pDTE = pUnk;
        if (pDTE) {
            DebuggerPtr pDebugger;
            if (SUCCEEDED(pDTE->get_Debugger(&pDebugger3)) && 
            pDebugger3
            != NULL){
                dbgDebugMode mode;
                if (SUCCEEDED(pDebugger3->get_CurrentMode(&mode))) {
                    if (mode != dbgDesignMode) {
                        printf("Debugger is active.\n");
                        nRet = 1;
                    }
                    else {
                        printf("Debugger is not active.\n");
                    }
                }
            }
        }
    }
    CoUninitialize();
    return nRet;
}

参照

関連項目

EnvDTE90 名前空間