Compartilhar via


Como: Usar a janela Threads

Este tópico se aplica a:

Edição

Visual Basic

C#

C++

Desenvolvedores Web

Express

Padrão

PRO e equipe

Legenda de tabela:

Aplica-se

Não é aplicada

Comando ou comandos oculta por padrão.

Com o Threads janela, você pode examinar e manipular threads no programa que você está depurando.

The Threads janela contém uma lista de todos os threads que existem atualmente no seu programa.Para cada thread, a lista oferece algumas informações úteis:

  • The Nome and ID colunas mostram o thread nome e identificação de número, para ajudar você a identificar segmentos.

  • The Prioridade coluna mostra a prioridade ou precedência o sistema foi atribuída a cada thread.

  • The Suspender coluna mostra a contagem de suspensões, que determina se um thread está atualmente pode ser executado.Para obter uma explicação de contagem de suspensões, consulte a seção sobre o congelamento e descongelamento threads neste tópico.

  • The Categoria coluna classifica sistema autônomo threads sistema autônomo threads de interface do usuário, manipuladores de telefonar de procedimento remoto ou segmentos de trabalho.Essa coluna também identifica o segmento principal.

  • The Local coluna mostra o local de fonte no qual um thread é criado.

  • A coluna do sinalizar é unlabelled e localizada na extrema esquerda.Ao sinalizar um thread que quiser estudar, aparecerá um ícone de sinalizador nesta coluna.Para obter instruções sobre como sinalizar threads, consulte Como: Sinalizar e remover o sinalizador de threads.

  • Finalmente, há outra coluna unlabelled, que é o segunda da esquerda.Esta é a coluna de thread ativo.Uma seta amarela nessa coluna indica um thread ativo.

Para exibir a janela Threads no modo de interrupção ou modo de execução

  • Sobre o Depurar , aponte para Windowse, em seguida, clicar Threads.

Para classificar a lista de threads

  1. No Threads janela, clicar no botão na parte superior de qualquer coluna.

    • Para classificar threads sinalizados para a parte superior da lista, clicar no botão mais à esquerda.

    • Para classificar threads ativo à parte superior da lista, clicar no segundo botão da esquerda.

    • Para classificar os threads com os números de identificação mais baixos para a parte superior, clicar no ID botão.

    • Para classificar os threads por categoria, clicar no Categoria botão.Isso classifica os threads em categorias funcionais, que são classificadas em ordem alfabética.

    • Para classificar threads pelo nome, clicar no Nome botão.

    • Para classificar os threads por locais de fonte, clicar no Local botão.

    • Para classificar os segmentos de prioridade mais alta para a parte superior, clicar no Prioridade botão.

    • Para classificar os threads com contagens de suspensão mais baixos para cima, clicar no Suspender botão.

  2. Se você quiser inverter a ordem de classificar, clicar no botão mesmo novamente.Se você classificar por número de ID de thread, por exemplo, os segmentos com os números de ID menores são classificados na parte superior.Se você clicar na ID botão novamente, os threads com números de identificação mais altos são classificados na parte superior.

Para comutador o contexto de depuração para outro thread

  • No Threads janela, clicar com o botão direito do mouse em um thread e escolher comutador para thread no menu de atalho.

    - ou -

  • clicar duas vezes em qualquer thread.

    Uma seta amarela identifica o ativo thread.

Congelar e descongelar threads

Segmentos podem ser congelados ou descongelados.Quando um thread for congelado, o sistema não iniciará a execução da thread, mesmo se não houver recursos disponível.

Em código nativo, segmentos podem ser suspenso ou retomados chamando o Windows funções SuspendThread e ResumeThread ou as funções do MFC CWinThread::SuspendThread e CWinThread::ResumeThread. De chamadaSuspendThread ou ResumeThread as alterações a Contagem de suspensão, que é exibido no Threads janela.No entanto, congelar ou descongelar um thread nativo não alterar a contagem de suspensões.Em código nativo, um thread não é possível executar a menos que ela está descongelada e tem uma contagem de suspensões do zero.

No código gerenciado, congelar ou descongelar um thread é alterada a contagem de suspensões.No código gerenciado, um thread congelada tem uma contagem de suspensões de 1.Em código nativo, um segmento congelado tem uma contagem de suspensões de 0 a menos que o thread foi suspenso por um SuspendThread telefonar.

Observação:

Quando Você está depuração uma telefonar de nativo código para código gerenciado, o código gerenciado é executado na mesma física thread sistema autônomo o código nativo que chamou.Suspensão ou congelamento congelar thread nativo s o código gerenciado também .

Para congelar a execução de um thread

  • No Threads janela, clicar com o botão direito do mouse em um thread e escolher congelar no menu de atalho.

Para descongelar execução de um thread

  • No Threads janela, clicar com o botão direito do mouse em um thread congelado e escolher Descongelamento no menu de atalho.

Exibindo telefonar pilhas de thread e alternando entre quadros

Em um programa multithread, cada thread possui seu próprio telefonar pilha.The Threads janela fornece uma maneira conveniente para exibir segmento telefonar pilhas.

Para exibir o telefonar pilha de um thread

  • No Threads janela, o ponteiro do mouse na coluna thread ativo na linha correspondente ao thread para estudar.

    Após um atraso momentâneo, um DataTip é exibida.Mostra a pilha de chamadas para o segmento.

Consulte também

Tarefas

Demonstra Passo a passo: Depurando um aplicativo multithread

Outros recursos

Depurando Aplicativos Multithread