Threads e processos

Terminologia

Os conceitos de thread e de processo são diferentes entre a depuração do modo de usuário e a depuração do modo kernel.

  • Na depuração do modo de usuário, um processo é um processo do sistema operacional e um thread é um thread do sistema operacional.

  • Na depuração no modo kernel, o mecanismo de depurador cria um processo virtual para cada destino; esse processo representa o kernel e não corresponde a nenhum processo do sistema operacional. Para cada processador físico no computador de destino, o depurador cria um thread virtual; esses threads representam os processadores e não correspondem a nenhum thread do sistema operacional.

Quando ocorre um evento, o mecanismo define o processo de evento e o thread de evento para o processo e thread (sistema operacional ou virtual) no qual o evento ocorreu.

O thread atual é o thread (sistema operacional ou virtual) que o mecanismo está controlando no momento. O processo atual é o processo (sistema operacional ou virtual) que o mecanismo está controlando no momento. Quando ocorre um evento, o thread e o processo atuais são inicialmente definidos para o thread e o processo do evento; mas eles podem ser alterados usando os clientes enquanto a sessão está acessível.

No modo kernel, o depurador controla um processo implícito e um thread implícito. O processo implícito é o processo do sistema operacional que determina a tradução de endereços de memória virtual para física.

O thread implícito é o thread do sistema operacional que determina os registros do destino, incluindo pilha de chamadas, quadro de pilha e deslocamento de instrução.

Quando ocorre um evento, o thread implícito e o processo implícito são inicialmente definidos para o thread e o processo do evento; eles podem ser alterados enquanto a sessão está acessível.

Dados de thread e de processo

O mecanismo mantém várias informações sobre cada thread e processo. Isso inclui o thread do sistema e a ID do processo e os identificadores do sistema e o PEB (ambiente de processo), o TEB (bloco de ambiente de thread) e seus locais na memória do destino.

Informações adicionais

Para obter detalhes sobre como usar threads e processos, consulte Controlando threads e processos.