Debugger.Stop 메서드
연결된 모든 프로세스에서 디버깅, 종료 또는 분리를 중지합니다.
네임스페이스: EnvDTE
어셈블리: EnvDTE(EnvDTE.dll)
구문
‘선언
Sub Stop ( _
WaitForDesignMode As Boolean _
)
void Stop(
bool WaitForDesignMode
)
void Stop(
[InAttribute] bool WaitForDesignMode
)
abstract Stop :
WaitForDesignMode:bool -> unit
function Stop(
WaitForDesignMode : boolean
)
매개 변수
- WaitForDesignMode
형식: System.Boolean
디자인 모드가 될 경우에만 디버깅 세션을 중지하려면 true로 설정하고,디버깅을 중지한 후 디버거에서 디자인 모드를 시작하기 전에 매크로에서 다른 작업을 수행해야 할 경우에는 false로 설정합니다.
설명
Stop은 디버깅을 중지하고 연결된 프로세스를 종료합니다. 자세한 내용은 방법: 디버깅 중지 및 실행 중지를 참조하십시오.
예제
다음 예제에서는 Stop 메서드의 사용 방법을 보여 줍니다.
이 메서드를 테스트하려면
대상 응용 프로그램에 중단점을 설정합니다.
디버그 모드에서 대상 응용 프로그램을 실행합니다.
응용 프로그램이 중단점에서 멈추면 추가 기능을 실행합니다.
public static void Stop(DTE dte)
{
EnvDTE.Debugger debugger = (EnvDTE.Debugger)dte.Debugger;
debugger.Stop(true);
}
Shared Sub Stop(ByRef dte As EnvDTE.DTE)
dte.Debugger. Stop(True)
End Sub
' WaitForDesignMode is true
Sub StopDebuggingAndNotifySync
DTE.Debugger.Stop(True)
MsgBox("Debugger has been stopped, for sure.")
End Sub
' WaitForDesignMode is false
Sub StopDebuggingAndNotifyAsync
DTE.Debugger.Stop(False)
' Depending on how long it takes to stop debugging,
' the environment may or may not yet be in Design mode.
If DTE.Debugger.CurrentMode <> dbgDebugMode.dbgDesignMode
MsgBox("Debugger still stopping")
Else
MsgBox("Debugger has been stopped")
End If
End Sub
참고
매크로는 Visual Studio의 주 스레드에서 실행됩니다. 다음 코드의 경우 IDE(통합 개발 환경)에서 디자인 모드를 시작할 수 없으므로 코드가 제대로 동작하지 않고 매크로가 무한히 반복됩니다. 대신 별도의 스레드 또는 풀링 메커니즘을 사용해야 합니다.
' Bad Code Example.
Sub StopDebuggingAndWaitForDesign
DTE.Debugger.Stop(False)
While DTE.Debugger.CurrentMode <> dbgDebugMode.dbgDesignMode
System.Threading.Thread.Sleep(50)
End While
MsgBox("Debugger has been stopped")
End Sub
.NET Framework 보안
- 직접 실행 호출자의 경우 완전히 신뢰합니다. 이 멤버는 부분적으로 신뢰할 수 있는 코드에서 사용할 수 없습니다. 자세한 내용은 부분 신뢰 코드에서 라이브러리 사용을 참조하십시오.