Поделиться через


Функция ContinueDebugEvent (debugapi.h)

Позволяет отладчику продолжить поток, который ранее сообщал о событии отладки.

Синтаксис

BOOL ContinueDebugEvent(
  [in] DWORD dwProcessId,
  [in] DWORD dwThreadId,
  [in] DWORD dwContinueStatus
);

Параметры

[in] dwProcessId

Идентификатор процесса для продолжения.

[in] dwThreadId

Идентификатор потока для продолжения. Сочетание идентификатора процесса и идентификатора потока должно идентифицировать поток, который ранее сообщал о событии отладки.

[in] dwContinueStatus

Параметры для продолжения потока, который сообщил о событии отладки.

Значение Значение
DBG_CONTINUE
0x00010002L
Если поток, указанный параметром dwThreadId , ранее сообщал о событии отладки EXCEPTION_DEBUG_EVENT, функция останавливает обработку исключений и продолжает поток, а исключение помечается как обработанное. Для любого другого события отладки этот флаг просто продолжает поток.
DBG_EXCEPTION_NOT_HANDLED
0x80010001L
Если поток, указанный dwThreadId , ранее сообщал о событии отладки EXCEPTION_DEBUG_EVENT, функция продолжает обработку исключений. Если это событие исключения первого шанса, используется логика поиска и диспетчеризации структурированного обработчика исключений; в противном случае процесс будет завершен. Для любого другого события отладки этот флаг просто продолжает поток.
DBG_REPLY_LATER
0x40010001L
Этот флаг, поддерживаемый в 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

См. также

CreateProcess

События отладки

Отладка функций