Debugger3.LastBreakReason Property
Gets the last reason that a program was broken. If the program is running it returns DBG_REASON_NONE.
Assembly: EnvDTE90 (in EnvDTE90.dll)
A program can be broken, for example, for some of the following reasons:
-
A breakpoint was hit. Gets dbgEventReasonBreakpoint.
-
An exception was thrown. Gets dbgEventReasonExceptionThrown.
-
An exception was thrown but not handled by the program being debugged. Gets dbgEventReasonExceptionNotHandled.
If nothing is being debugged or the debugger is in run mode, this property returns dbgEventReasonNone.
For a complete list of enumerations, see dbgEventReason.
The following example shows how to use the LastBreakReason property.
To test this property:
-
Set a breakpoint in the target application. Run the add-in.
-
Run the target application in the debug mode.
-
Run the add-in.
public static void LastBreakReason(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("Last Break Reason Test"); owp.Activate(); owp.OutputString("The reason that a program was broken: "); EnvDTE90.Debugger3 debugger = (EnvDTE90.Debugger3)dte.Debugger; switch (debugger.LastBreakReason) { case dbgEventReason.dbgEventReasonBreakpoint: owp.OutputString("Breakpoint hit."); break; case dbgEventReason.dbgEventReasonNone: owp.OutputString("No reason"); break; case dbgEventReason.dbgEventReasonExceptionNotHandled: owp.OutputString("Exception not handled by the debuggee"); break; case dbgEventReason.dbgEventReasonExceptionThrown: owp.OutputString("Exception thrown"); break; } }
- Full trust for the immediate caller. This member cannot be used by partially trusted code. For more information, see Using Libraries from Partially Trusted Code.