Freigeben über


Debugger2.LastBreakReason-Eigenschaft

Ruft die zuletzt aufgetretene Ursache für den Programmabsturz ab. Bei laufendem Programm wird DBG_REASON_NONE zurückgegeben.

Namespace:  EnvDTE80
Assembly:  EnvDTE80 (in EnvDTE80.dll)

Syntax

'Declaration
ReadOnly Property LastBreakReason As dbgEventReason
dbgEventReason LastBreakReason { get; }
property dbgEventReason LastBreakReason {
    dbgEventReason get ();
}
abstract LastBreakReason : dbgEventReason with get
function get LastBreakReason () : dbgEventReason

Eigenschaftswert

Typ: dbgEventReason
Ein dbgEventReason-Wert.

Hinweise

Ein Programmabsturz kann beispielsweise folgende Ursachen haben:

Wenn momentan kein Programm gedebuggt wird, oder wenn sich der Debugger im Ausführmodus befindet, gibt die Eigenschaft dbgEventReasonNone zurück.

Eine vollständige Liste der Enumerationen finden Sie unter dbgEventReason.

Beispiele

Im folgenden Beispiel wird veranschaulicht, wie die LastBreakReason-Eigenschaft verwendet wird.

So testen Sie diese Eigenschaft

  1. Legen Sie einen Haltepunkt in der Zielanwendung fest. Führen Sie das Add-In aus.

  2. Führen Sie die Zielanwendung im Debugmodus aus.

  3. Führen Sie das Add-In aus.

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

.NET Framework-Sicherheit

Siehe auch

Referenz

Debugger2 Schnittstelle

EnvDTE80-Namespace