Метод ICorDebugController::Stop
Выполняет совместную остановку для всех потоков, выполняющих управляемый код в процессе.
Синтаксис
HRESULT Stop (
[in] DWORD dwTimeoutIgnored
);
Параметры
dwTimeoutIgnored
Не используется.
Замечания
Stop
выполняет совместную остановку для всех потоков, выполняющих управляемый код в процессе. Во время сеанса отладки только для управляемого управления неуправляемые потоки могут продолжать выполняться (но будут заблокированы при попытке вызвать управляемый код). Во время сеанса отладки взаимодействия неуправляемые потоки также будут остановлены. Значение dwTimeoutIgnored
в настоящее время игнорируется и обрабатывается как INFINITE (-1). Если совместная остановка завершается ошибкой из-за взаимоблокировки, все потоки приостановлены и возвращаются E_TIMEOUT.
Примечание.
Stop
— единственный синхронный метод в API отладки. При Stop
возврате S_OK процесс останавливается. Обратный вызов не предоставляется для уведомления прослушивателей остановки. Отладчик должен вызвать ICorDebugController::Continue , чтобы разрешить процесс возобновиться.
Отладчик поддерживает счетчик остановки. Когда счетчик переходит к нулю, контроллер возобновляется. Каждый вызов или каждый отправленный обратный вызов Stop
увеличивает счетчик. Каждый вызов ICorDebugController::Continue
для уменьшения счетчика.
Требования
Платформы: см. раздел Требования к системе.
Заголовок: CorDebug.idl, CorDebug.h
Библиотека: CorGuids.lib
версии платформа .NET Framework: Доступно с версии 1.0