Debugger2.LastBreakReason Property
Definition
Important
Some information relates to prerelease product that may be substantially modified before it’s released. Microsoft makes no warranties, express or implied, with respect to the information provided here.
Gets the last reason that a program was broken. If the program is running it returns DBG_REASON_NONE
.
public:
property EnvDTE::dbgEventReason LastBreakReason { EnvDTE::dbgEventReason get(); };
public:
property EnvDTE::dbgEventReason LastBreakReason { EnvDTE::dbgEventReason get(); };
[System.Runtime.InteropServices.DispId(109)]
public EnvDTE.dbgEventReason LastBreakReason { [System.Runtime.InteropServices.DispId(109)] get; }
[<System.Runtime.InteropServices.DispId(109)>]
[<get: System.Runtime.InteropServices.DispId(109)>]
member this.LastBreakReason : EnvDTE.dbgEventReason
Public ReadOnly Property LastBreakReason As dbgEventReason
Property Value
A dbgEventReason value.
Implements
- Attributes
Examples
The following example demonstrates how to use the LastBreakReason property.
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: ");
EnvDTE80.Debugger2 debugger = (EnvDTE80.Debugger2)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;
}
}
Sub LastBreakReason()
' This function shows the reason break mode was entered
' in the Output window.
Dim ow As OutputWindow
ow = DTE2.Windows.Item(Constants.vsWindowKindOutput).Object
Select Case DTE2.Debugger.LastBreakReason
Case dbgEventReason.dbgEventReasonBreakpoint
ow.ActivePane.OutputString("Breakpoint hit" + vbCrLf)
Case dbgEventReason.dbgEventReasonNone
ow.ActivePane.OutputString("No reason" + vbCrLf)
Case dbgEventReason.dbgEventReasonExceptionNotHandled
ow.ActivePane.OutputString("Exception not handled by the _
debuggee" + vbCrLf)
Case dbgEventReason.dbgEventReasonExceptionThrown
ow.ActivePane.OutputString("Exception thrown" + vbCrLf)
End Select
End Sub
Remarks
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.