Debugger2 Interface
The Debugger2 object is used to interrogate and manipulate the state of the debugger and the program being debugged. The Debugger2 object supersedes the Debugger object.
Assembly: EnvDTE80 (in EnvDTE80.dll)
The Debugger2 type exposes the following members.
| Name | Description | |
|---|---|---|
|
AllBreakpointsLastHit | (Inherited from Debugger.) |
|
AllBreakpointsLastHit | Gets a collection of bound breakpoints that were last simultaneously hit. |
|
BreakpointLastHit | (Inherited from Debugger.) |
|
BreakpointLastHit | Gets the last breakpoint hit. |
|
Breakpoints | (Inherited from Debugger.) |
|
Breakpoints | Gets a collection of breakpoints. |
|
CurrentMode | (Inherited from Debugger.) |
|
CurrentMode | Gets the current mode of the debugger within the context of the IDE. |
|
CurrentProcess | (Inherited from Debugger.) |
|
CurrentProcess | Gets or sets the active process. |
|
CurrentProgram | (Inherited from Debugger.) |
|
CurrentProgram | Sets or returns the active program. |
|
CurrentStackFrame | (Inherited from Debugger.) |
|
CurrentStackFrame | Gets or sets the current stack frame. |
|
CurrentThread | (Inherited from Debugger.) |
|
CurrentThread | Gets or sets the current thread being debugged. |
|
DebuggedProcesses | (Inherited from Debugger.) |
|
DebuggedProcesses | Gets the list of processes currently being debugged. |
|
DTE | (Inherited from Debugger.) |
|
DTE | Gets the top-level extensibility object. |
|
HexDisplayMode | (Inherited from Debugger.) |
|
HexDisplayMode | Gets or sets a value indicating whether the expressions are output in hexadecimal or decimal format. |
|
HexInputMode | (Inherited from Debugger.) |
|
HexInputMode | Gets or sets a value indicating whether the expressions are evaluated in hexadecimal or decimal format. |
|
Languages | (Inherited from Debugger.) |
|
Languages | Gets a list of languages that the debugger supports. |
|
LastBreakReason | (Inherited from Debugger.) |
|
LastBreakReason | Gets the last reason that a program was broken. If the program is running it returns DBG_REASON_NONE. |
|
LocalProcesses | (Inherited from Debugger.) |
|
LocalProcesses | Gets the list of processes currently running on this machine. |
|
Parent | (Inherited from Debugger.) |
|
Parent | Gets the immediate parent object of the Debugger2 object (DTE2). |
|
Transports | Gets a collection of supported debugging transports. |
| Name | Description | |
|---|---|---|
|
Break(Boolean) | (Inherited from Debugger.) |
|
Break(Boolean) | Causes the given process to pause its execution so that its current state can be analyzed. |
|
DetachAll() | (Inherited from Debugger.) |
|
DetachAll() | Detaches from all attached programs. |
|
ExecuteStatement(String, Int32, Boolean) | (Inherited from Debugger.) |
|
ExecuteStatement(String, Int32, Boolean) | Executes the specified statement. If the TreatAsExpression flag is true, then the string is interpreted as an expression, and output is sent to the Command Window. |
|
GetExpression(String, Boolean, Int32) | (Inherited from Debugger.) |
|
GetExpression(String, Boolean, Int32) | Evaluates an expression based on the current stack frame. If the expression can be parsed but not evaluated, an object is returned but does not contain a valid value. |
|
GetExpression2 | Evaluates an expression based on the current stack frame. If the expression can be parsed but not evaluated, an object is returned but does not contain a valid value. |
|
GetProcesses | Allows the caller to get a collection of processes from a remote machine. |
|
Go(Boolean) | (Inherited from Debugger.) |
|
Go(Boolean) | Starts executing the program from the current statement. |
|
RunToCursor(Boolean) | (Inherited from Debugger.) |
|
RunToCursor(Boolean) | Executes the program to the current position of the source file cursor. |
|
SetNextStatement() | (Inherited from Debugger.) |
|
SetNextStatement() | Sets the next instruction to be executed, according to the cursor position in the current source file. |
|
StepInto(Boolean) | (Inherited from Debugger.) |
|
StepInto(Boolean) | Steps into the next function call, if possible. |
|
StepOut(Boolean) | (Inherited from Debugger.) |
|
StepOut(Boolean) | Steps out of the current function. |
|
StepOver(Boolean) | (Inherited from Debugger.) |
|
StepOver(Boolean) | Steps over the next function call. |
|
Stop(Boolean) | (Inherited from Debugger.) |
|
Stop(Boolean) | Stops debugging and terminates or detaches from all attached processes. |
|
TerminateAll() | (Inherited from Debugger.) |
|
TerminateAll() | Terminates all currently running debugging processes. |
|
WriteMinidump | If debugging a program and in Break mode, this function creates a minidump of the current debugging session. |
// 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 "dte.olb" raw_interfaces_only named_guids using namespace EnvDTE80; 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(&pDebugger2)) && pDebugger2 != NULL){ dbgDebugMode mode; if (SUCCEEDED(pDebugger2->get_CurrentMode(&mode))) { if (mode != dbgDesignMode) { printf("Debugger is active.\n"); nRet = 1; } else { printf("Debugger is not active.\n"); } } } } } CoUninitialize(); return nRet; }