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
Get
dbgEventReason LastBreakReason { get; }
property dbgEventReason LastBreakReason {
dbgEventReason get ();
}
abstract LastBreakReason : dbgEventReason
function get LastBreakReason () : dbgEventReason
Eigenschaftswert
Typ: EnvDTE.dbgEventReason
Ein dbgEventReason-Wert.
Implementiert
Hinweise
Ein Programmabsturz kann beispielsweise folgende Ursachen haben:
Ein Haltepunkt wurde erreicht. Ruft dbgEventReasonBreakpoint ab.
Eine Ausnahme wurde ausgelöst. Ruft dbgEventReasonExceptionThrown ab.
Eine Ausnahme wurde ausgelöst und nicht von dem Programm behandelt, das momentan gedebuggt wird. Ruft dbgEventReasonExceptionNotHandled ab.
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
Legen Sie einen Haltepunkt in der Zielanwendung fest. Führen Sie das Add-In aus.
Führen Sie die Zielanwendung im Debugmodus aus.
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
- Volle Vertrauenswürdigkeit für den unmittelbaren Aufrufer. Dieser Member kann von nur teilweise vertrauenswürdigem Code nicht verwendet werden. Weitere Informationen finden Sie unter Verwenden von Bibliotheken aus teilweise vertrauenswürdigem Code.