This topic has not yet been rated - Rate this topic

Debugger Interface

The Debugger object is used to interrogate and manipulate the state of the debugger and the program being debugged.

Namespace: EnvDTE
Assembly: EnvDTE (in envdte.dll)

[GuidAttribute("338FB9A0-BAE5-11D2-8AD1-00C04F79E479")] 
public interface Debugger
/** @attribute GuidAttribute("338FB9A0-BAE5-11D2-8AD1-00C04F79E479") */ 
public interface Debugger
GuidAttribute("338FB9A0-BAE5-11D2-8AD1-00C04F79E479") 
public interface Debugger

The debugger is available through the DTE object by way of its Debugger property, as shown in the example below. One debugger object is available for each instance of the development environment.

The following example demonstrates how to use Debugger object.

// The following small 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 "dte.olb" raw_interfaces_only named_guids

using namespace EnvDTE;

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(&pDebugger)) && pDebugger != NULL){
                dbgDebugMode mode;
                if (SUCCEEDED(pDebugger->get_CurrentMode(&mode))) {
                    if (mode != dbgDesignMode) {
                        printf("Debugger is active.\n");
                        nRet = 1;
                    }
                    else {
                        printf("Debugger is not active.\n");
                    }
                }
            }
        }
    }

    CoUninitialize();

    return nRet;
}

Did you find this helpful?
(1500 characters remaining)
Community Content Add
Annotations FAQ
Advertisement