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.