Compartilhar via


WdbgExts Threads and Processes

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 do 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; ele é 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 do thread atual, use a função StackTrace . Para alterar temporariamente o thread usado para examinar o rastreamento de pilha, use as funções SetThreadForOperation ou SetThreadForOperation64 . Consulte Examinando 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 obter uma API de manipulação de processos e manipulação de threads mais poderosa, consulte Controlando threads e processos na seção Usando a API do Mecanismo de Depurador desta documentação.