Функция ContinueDebugEvent дает возможность отладчику оставить поток, который предварительно сообщил о событии отладки.
Синтаксис
BOOL ContinueDebugEvent( DWORD dwProcessId, DWORD dwThreadId, DWORD dwContinueStatus ); |
Параметры
dwProcessId
[in] Дескриптор остающегося процесса.dwThreadId
[in] Дескриптор остающегося потока. Комбинация идентификатора процесса и идентификатора потока должна идентифицировать поток, который предварительно сообщил о событии отладки.dwContinueStatus
[in] Опции остающегося потока, который сообщил о событии отладки.Если для этого параметра устанавливается флажок DBG_CONTINUE, а поток, указанный параметром dwThreadId предварительно сообщил об отлаживающем событии EXCEPTION_DEBUG_EVENT, то функция останавливает всякую обработку исключений и оставляет поток. Для любого другого события отладки, этот флажок просто оставляет поток.
Если для этого параметра устанавливается флажок DBG_EXCEPTION_NOT_HANDLED, а поток, заданный в dwThreadId предварительно сообщил об отлаживающем событии EXCEPTION_DEBUG_EVENT, то функция продолжает обработку исключений. Если это событие первой случайной исключительной ситуации , используется логика поиска и распределения структурного обработчика исключительных ситуаций; в противном случае, процесс завершается. Для любого другого события отладки, этот флажок просто оставляет поток.
Возвращаемые значения
Если функция завершается успешно, возвращаемое значение не нуль.
Если функция завершается ошибкой, возвращаемое значение равняется нулю. Чтобы получить дополнительную информацию об ошибке, вызовите GetLastError.
Замечания
Только поток, который создавался dwProcessId функцией CreateProcess, может вызвать ContinueDebugEvent. После того, как функция ContinueDebugEvent завершается успешно, указанный поток остается. В зависимости от события отладки, предварительно сообщенного потоком, совершаются другие действия. Если оставшийся поток предварительно сообщил, что отлаживающее событие EXIT_THREAD_DEBUG_EVENT, функция ContinueDebugEvent закрывает дескриптор, который отладчик относит к потоку. Если продолжающий работу поток предварительно сообщил, что отлаживающее событие EXIT_PROCESS_DEBUG_EVENT, ContinueDebugEvent закрывает дескрипторы отладчика, которые принадлежат процессу и потоку.
Пример, см. в статье Запись основного цикла отладчика.
Смотри также
Обзор Основы отладки, Функции, используемые при отладке, CreateProcess
Размещение и совместимость ContinueDebugEvent |
||
К |
Windows XP |
Да с SP1 |
л |
Windows 2000 Professional |
Да |
и |
Windows NT Workstation |
Да |
е |
Windows Me |
Да |
н |
Windows 98 |
Да |
т |
Windows 95 |
Да |
С |
Windows Server 2003 |
Да |
е | Windows 2000 Server | Да |
р | Windows NT Server | Да |
в | ||
е | ||
р | ||
Используемая библиотека |
Kernel32.lib |
|
Используемая DLL | kernel32.dll | |
Заголовочный файл | ||
- объявлено в |
Winbase.h |
|
- включено в |
Windows.h |
|
Unicode |
Нет |
|
Замечания по платформе |
Не имеется |