Compartilhar via


Threads e processos WdbgExts

Este tópico fornece uma breve visão geral de como os threads e processos podem ser manipulados usando a API WdbgExts. Para obter uma visão geral dos threads e processos no mecanismo de depurador, consulte Threads and Processes na seção Visão geral do Mecanismo de Depurador desta documentação.

Tópicos

Para obter o endereço do TEB (bloco de ambiente de thread) que descreve o thread atual, use o método GetTebAddress. Na depuração no modo kernel, a estrutura KTHREAD também está disponível para descrever um thread. Essa estrutura é retornada por GetCurrentThreadAddr (na depuração no modo de usuário, GetCurrentThreadAddr retorna o endereço do TEB).

O contexto do thread é o estado preservado pelo Windows ao alternar threads; é representado pela estrutura CONTEXT. Essa estrutura varia de acordo com o sistema operacional e a plataforma e os cuidados devem ser tomados ao usar a estrutura CONTEXT. O contexto do thread é retornado pela função GetContext e pode ser definido usando a função SetContext .

Para examinar o rastreamento de pilha para o thread atual, use a função StackTrace . Para alterar temporariamente a thread usada para examinar o rastreamento de pilha, use as funções SetThreadForOperation ou SetThreadForOperation64. Consulte Examinar o Rastreamento de Pilha na seção Usando a API do Mecanismo de Depurador desta documentação para obter métodos adicionais para examinar a pilha.

Para obter informações sobre um thread do sistema operacional no destino, use a operação IoctlIG_GET_THREAD_OS_INFO.

Processos

Para obter o endereço do PEB (bloco de ambiente de processo) que descreve o processo atual, use o método GetPebAddress. Na depuração no modo kernel, a estrutura KPROCESS também está disponível para descrever um processo. Essa estrutura é retornada por GetCurrentProcessAddr (na depuração no modo de usuário, GetCurrentProcessAddr retorna o endereço do PEB).

O método GetCurrentProcessHandle retorna o identificador do sistema para o processo atual.

informações adicionais

Para uma API de manipulação de threads e manipulação de processos mais robusta, veja Controlando Threads e Processos na seção Usando a API do Mecanismo de Depurador desta documentação.