Proprietà Debugger.LastBreakReason
Ottiene l'ultima causa dell'interruzione di un programma. Se il programma è in esecuzione, restituisce DBG_REASON_NONE.
Spazio dei nomi: EnvDTE
Assembly: EnvDTE (in EnvDTE.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.
Note
La proprietà LastBreakReason restituisce un valore dbgEventReason che indica il motivo per cui un programma non ha funzionato. Un programma non funziona per uno dei seguenti motivi:
È stato raggiunto un punto di interruzione.
Restituisce un oggetto dbgEventReasonBreakpoint.
È stata generata un'eccezione.
Restituisce un oggetto dbgEventReasonExceptionThrown.
È stata generata un'eccezione, che tuttavia non è stata gestita dal programma di cui è in corso il debug.
Restituisce un oggetto dbgEventReasonExceptionNotHandled.
Se non viene eseguito alcun debug o il debugger si trova in modalità di esecuzione, questa proprietà restituisce dbgEventReasonNone.
Esempi
Nell'esempio riportato di seguito viene illustrato 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(DTE dte)
{
// Setup the 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: ");
switch(dte.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;
}
}
Shared Sub LastBreakReason(ByRef dte As EnvDTE.DTE)
Select Case dte.Debugger.LastBreakReason
Case dbgEventReason.dbgEventReasonBreakpoint
MessageBox.Show("Breakpoint hit.", "Debugger Test - LastBreakReason")
Case dbgEventReason.dbgEventReasonNone
MessageBox.Show("No reason", "Debugger Test - LastBreakReason")
Case dbgEventReason.dbgEventReasonExceptionNotHandled
MessageBox.Show("Exception not handled by the debuggee", _
"Debugger Test - LastBreakReason")
Case dbgEventReason.dbgEventReasonExceptionThrown
MessageBox.Show("Exception thrown", "Debugger Test - LastBreakReason")
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.