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)
EnvDTE Namespace
Assembly: EnvDTE (in envdte.dll)
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; }
Reference
Debugger MembersEnvDTE Namespace