Debugger2.LastBreakReason 속성
프로그램이 멈춘 마지막 원인을 가져옵니다. 프로그램이 실행되고 있으면 DBG_REASON_NONE을 반환합니다.
네임스페이스: EnvDTE80
어셈블리: EnvDTE80(EnvDTE80.dll)
구문
‘선언
ReadOnly Property LastBreakReason As dbgEventReason
Get
dbgEventReason LastBreakReason { get; }
property dbgEventReason LastBreakReason {
dbgEventReason get ();
}
abstract LastBreakReason : dbgEventReason
function get LastBreakReason () : dbgEventReason
속성 값
형식: EnvDTE.dbgEventReason
dbgEventReason 값입니다.
구현
설명
프로그램은 다음과 같은 원인으로 멈출 수 있습니다.
중단점에 도달했습니다. dbgEventReasonBreakpoint을 가져옵니다.
예외가 throw되었습니다. dbgEventReasonExceptionThrown을 가져옵니다.
예외가 throw되었지만 디버깅 중인 프로그램에서 이 예외를 처리하지 않았습니다. dbgEventReasonExceptionNotHandled을 가져옵니다.
아무런 내용도 디버깅되지 않거나 디버거가 실행 모드인 경우 이 속성은 dbgEventReasonNone을 반환합니다.
열거형의 전체 목록은 dbgEventReason을 참조하십시오.
예제
다음 예제에서는 LastBreakReason 속성의 사용 방법을 보여 줍니다.
이 속성을 테스트하려면
대상 응용 프로그램에 중단점을 설정합니다. 추가 기능을 실행합니다.
디버그 모드에서 대상 응용 프로그램을 실행합니다.
추가 기능을 실행합니다.
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 보안
- 직접 실행 호출자의 경우 완전히 신뢰합니다. 이 멤버는 부분적으로 신뢰할 수 있는 코드에서 사용할 수 없습니다. 자세한 내용은 부분 신뢰 코드에서 라이브러리 사용을 참조하십시오.