Функция ContinueDebugEvent (debugapi.h)
Позволяет отладчику продолжить поток, который ранее сообщал о событии отладки.
Синтаксис
BOOL ContinueDebugEvent(
[in] DWORD dwProcessId,
[in] DWORD dwThreadId,
[in] DWORD dwContinueStatus
);
Параметры
[in] dwProcessId
Идентификатор процесса для продолжения.
[in] dwThreadId
Идентификатор потока для продолжения. Сочетание идентификатора процесса и идентификатора потока должно идентифицировать поток, который ранее сообщал о событии отладки.
[in] dwContinueStatus
Параметры для продолжения потока, который сообщил о событии отладки.
Значение | Значение |
---|---|
|
Если поток, указанный параметром dwThreadId , ранее сообщал о событии отладки EXCEPTION_DEBUG_EVENT, функция останавливает обработку исключений и продолжает поток, а исключение помечается как обработанное. Для любого другого события отладки этот флаг просто продолжает поток. |
|
Если поток, указанный dwThreadId , ранее сообщал о событии отладки EXCEPTION_DEBUG_EVENT, функция продолжает обработку исключений. Если это событие исключения первого шанса, используется логика поиска и диспетчеризации структурированного обработчика исключений; в противном случае процесс будет завершен. Для любого другого события отладки этот флаг просто продолжает поток. |
|
Этот флаг, поддерживаемый в Windows 10 версии 1507 или более поздней, приводит к тому, что dwThreadId воспроизводит существующее событие прерывания после продолжения целевого объекта. Вызывая API SuspendThread для dwThreadId, отладчик может возобновить другие потоки в процессе, а затем вернуться к разрыву. |
Возвращаемое значение
Если функция выполняется успешно, возвращается ненулевое значение.
Если функция выполняется неудачно, возвращается нулевое значение. Дополнительные сведения об ошибке можно получить, вызвав GetLastError.
Комментарии
Только поток, создавший dwProcessId с функцией CreateProcess, может вызывать ContinueDebugEvent.
После успешного выполнения функции ContinueDebugEvent указанный поток продолжается. В зависимости от события отладки, о ранее сообщаемом потоком, выполняются различные действия. Если непрерывный поток ранее сообщал о событии отладки EXIT_THREAD_DEBUG_EVENT, ContinueDebugEvent закрывает дескриптор, который отладчик имеет для потока. Если непрерывный поток ранее сообщал о событии отладки EXIT_PROCESS_DEBUG_EVENT, ContinueDebugEvent закрывает дескриптор для процесса и потока.
Примеры
Пример см. в разделе Написание главного цикла отладчика.
Требования
Минимальная версия клиента | Windows XP [только классические приложения] |
Минимальная версия сервера | Windows Server 2003 [только классические приложения] |
Целевая платформа | Windows |
Header | debugapi.h (включая Windows.h) |
Библиотека | Kernel32.lib |
DLL | Kernel32.dll |