Função WaitForDebugEventEx (debugapi.h)
Aguarda que um evento de depuração ocorra em um processo que está sendo depurado.
Sintaxe
BOOL WaitForDebugEventEx(
[out] LPDEBUG_EVENT lpDebugEvent,
[in] DWORD dwMilliseconds
);
Parâmetros
[out] lpDebugEvent
Um ponteiro para uma estrutura DEBUG_EVENT que recebe informações sobre o evento de depuração.
[in] dwMilliseconds
O número de milissegundos a aguardar por um evento de depuração. Se esse parâmetro for zero, a função testará um evento de depuração e retornará imediatamente. Se o parâmetro for INFINITE, a função não retornará até que ocorra um evento de depuração.
Valor de retorno
Se a função for bem-sucedida, o valor retornado não será zero.
Se a função falhar, o valor retornado será zero. Para obter informações de erro estendidas, chame GetLastError.
Observações
Somente o thread que criou o processo que está sendo depurado pode chamar WaitForDebugEventEx.
Quando um CREATE_PROCESS_DEBUG_EVENT ocorre, o aplicativo de depurador recebe um identificador para o arquivo de imagem do processo que está sendo depurado, um identificador para o processo que está sendo depurado e um identificador para o thread inicial do processo que está sendo depurado na estrutura de DEBUG_EVENT. Os membros em que esses identificadores são retornados são u.CreateProcessInfo.hFile (arquivo de imagem), u.CreateProcessInfo.hProcess (processo) e u.CreateProcessInfo.hThread (thread inicial). Se o sistema relatou anteriormente um evento de depuração EXIT_PROCESS_DEBUG_EVENT, o sistema fecha as alças do processo e do thread quando o depurador chama a função ContinueDebugEvent. O depurador deve fechar o identificador do arquivo de imagem chamando a função CloseHandle.
Da mesma forma, quando ocorre um CREATE_THREAD_DEBUG_EVENT, o aplicativo de depurador recebe um identificador para o thread cuja criação causou o evento de depuração no u.CreateThread.hThread membro da estrutura DEBUG_EVENT. Se o sistema relatou anteriormente um evento de depuração EXIT_THREAD_DEBUG_EVENT, o sistema fecha as alças do thread quando o depurador chama a função ContinueDebugEvent.
Quando um LOAD_DLL_DEBUG_EVENT ocorre, o aplicativo de depurador recebe um identificador para a DLL carregada no membro u.LoadDll.hFile da estrutura DEBUG_EVENT. Esse identificador deve ser fechado pelo aplicativo de depurador chamando a função CloseHandle.
Exemplos
Para obter um exemplo, consulte Gravando o loop principal do depurador.
Requisitos
Requisito | Valor |
---|---|
de cliente com suporte mínimo | Windows 10 [somente aplicativos da área de trabalho] |
servidor com suporte mínimo | Windows Server 2016 [somente aplicativos da área de trabalho] |
da Plataforma de Destino | Windows |
cabeçalho | debugapi.h (inclua Windows.h) |
biblioteca | Kernel32.lib |
de DLL | Kernel32.dll |