ICorDebugController::Stop 메서드

프로세스에서 관리 코드를 실행하는 모든 스레드에서 협조적 중지를 수행합니다.

구문

HRESULT Stop (  
    [in] DWORD dwTimeoutIgnored  
);  

매개 변수

dwTimeoutIgnored
사용되지 않습니다.

설명

Stop은 프로세스에서 관리 코드를 실행하는 모든 스레드에서 협조적 중지를 수행합니다. 관리 전용 디버깅 세션 동안 관리되지 않는 스레드는 계속 실행될 수 있습니다(하지만 관리 코드를 호출하려고 할 때 차단됨). Interop 디버깅 세션 중에는 관리되지 않는 스레드도 중지됩니다. dwTimeoutIgnored 값은 현재 무시되며 INFINITE(-1)로 처리됩니다. 교착 상태로 인해 협력적 중지가 실패하면 모든 스레드가 일시 중단되고 E_TIMEOUT이 반환됩니다.

참고

Stop은 디버깅 API의 유일한 동기 메서드입니다. Stop이 S_OK를 반환하면 프로세스가 중지됩니다. 수신기에 중지를 알리기 위한 콜백이 제공되지 않습니다. 프로세스가 다시 시작할 수 있으려면 디버거가 ICorDebugController::Continue를 호출해야 합니다.

디버거는 중지 카운터를 유지 관리합니다. 카운터가 0이 되면 컨트롤러가 다시 시작됩니다. Stop에 대한 각 호출 또는 각 디스패치된 콜백은 카운터를 증가시킵니다. ICorDebugController::Continue에 대한 각 호출은 카운터를 감소시킵니다.

요구 사항

플랫폼:시스템 요구 사항을 참조하세요.

헤더: CorDebug.idl, CorDebug.h

라이브러리: CorGuids.lib

.NET Framework 버전: 1.0부터 사용 가능

참고 항목