Proprietà Debugger3.LastBreakReason
Ottiene l'ultima causa dell'interruzione di un programma. Se il programma è in esecuzione, viene restituito DBG_REASON_NONE.
Spazio dei nomi: EnvDTE90
Assembly: EnvDTE90 (in EnvDTE90.dll)
Sintassi
'Dichiarazione
ReadOnly Property LastBreakReason As dbgEventReason
Get
dbgEventReason LastBreakReason { get; }
property dbgEventReason LastBreakReason {
dbgEventReason get ();
}
abstract LastBreakReason : dbgEventReason
function get LastBreakReason () : dbgEventReason
Valore proprietà
Tipo: EnvDTE.dbgEventReason
Valore dbgEventReason.
Implementa
Note
Di seguito sono elencate alcune delle possibili cause dell'interruzione di un programma:
È stato raggiunto un punto di interruzione. Ottiene dbgEventReasonBreakpoint.
È stata generata un'eccezione. Ottiene dbgEventReasonExceptionThrown.
È stata generata un'eccezione, che tuttavia non è stata gestita dal programma di cui è in corso il debug. Ottiene dbgEventReasonExceptionNotHandled.
Se non viene eseguito alcun debug o il debugger si trova in modalità di esecuzione, questa proprietà restituisce dbgEventReasonNone.
Per un elenco completo di enumerazioni, vedere dbgEventReason.
Esempi
Nell'esempio riportato di seguito viene mostrato come utilizzare la proprietà LastBreakReason.
Per verificare la proprietà:
Impostare un punto di interruzione nell'applicazione di destinazione. Eseguire il componente aggiuntivo.
Eseguire l'applicazione di destinazione in modalità debug.
Eseguire il componente aggiuntivo.
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;
}
}
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
Sicurezza di .NET Framework
- Attendibilità totale per il chiamante immediato. Impossibile utilizzare questo membro in codice parzialmente attendibile. Per ulteriori informazioni, vedere Utilizzo di librerie da codice parzialmente attendibile.