다음을 통해 공유


Debugger3.Stop 메서드 (Boolean)

디버깅을 중지하고 종료하거나 모든 연결된 프로세스에서 분리합니다.

네임스페이스:  EnvDTE90
어셈블리:  EnvDTE90(EnvDTE90.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 메서드를 사용하는 방법을 보여 줍니다.

이 메서드를 테스트하려면

  1. 대상 응용 프로그램에 중단점을 설정합니다.

  2. 디버그 모드에서 대상 응용 프로그램을 실행합니다.

  3. 응용 프로그램이 중단점에서 멈추면 추가 기능을 실행합니다.

public static void Stop(EnvDTE80.DTE2 dte)
{
    EnvDTE90.Debugger3 debugger = (EnvDTE90.Debugger3)dte.Debugger;
    debugger.Stop(false);
}
' WaitForDesignMode is true.
Sub StopDebuggingAndNotifySync
    DTE2.Debugger.Stop(True)
    MsgBox("Debugger has been stopped, for sure.")
End Sub

' WaitForDesignMode is false.
Sub StopDebuggingAndNotifyAsync
    DTE2.Debugger.Stop(False)
    ' Depending on how long it takes to stop debugging, 
    ' you may or may not yet be in Design mode.
    If DTE2.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
    DTE2.Debugger.Stop(False)

    While DTE2.Debugger.CurrentMode <> dbgDebugMode.dbgDesignMode
        System.Threading.Thread.Sleep(50)
    End While

    MsgBox("Debugger has been stopped")
End Sub

.NET Framework 보안

  • 직접 실행 호출자의 경우 완전히 신뢰합니다. 이 멤버는 부분적으로 신뢰할 수 있는 코드에서 사용할 수 없습니다. 자세한 내용은 부분 신뢰 코드에서 라이브러리 사용을 참조하십시오.

참고 항목

참조

Debugger3 인터페이스

Stop 오버로드

EnvDTE90 네임스페이스