Compartilhar via


Usando a janela de pilhas paralela

O Paralela pilhas janela é útil quando você está depurando aplicativos multithread.Sua Visualização de Threads mostra informações de pilha de chamada para todos os threads em seu aplicativo.Ele permite que você navegue entre threads e quadros de pilha em desses segmentos.No código gerenciado, o Modo de exibição tarefas mostra chama pilhas de System.Threading.Tasks.Task objetos.Em código nativo, o Modo de exibição tarefas mostra chama pilhas de grupos de tarefas, algoritmos paralelos, agentes assíncronos, e tarefas leves.

Visualização de threads

A ilustração a seguir mostra um segmento que caiu de principal para a para b e, em seguida, alguns códigos externos.Dois outros threads iniciado a partir de alguns códigos externos e, em seguida, passou para A, mas um dos threads continuação para b e, em seguida, alguns códigos externos e o outro segmento de continuação para c e, em seguida, alguns AnonymousMethod.

Visualização de Threads de janela pilhas paralelas

Na ilustração, o caminho da chamada do thread atual é realçado em azul e o quadro de pilhas ativo representado pela seta amarela.Você pode alterar o quadro de pilha atual, selecionando um método diferente no Paralela pilhas janela.Isso pode resultar em também alternar o segmento atual, de acordo com o método selecionado parte do segmento atual ou de outro thread.A tabela a seguir descreve os principais recursos da Paralela pilhas janela conforme mostrado na ilustração.

Letra do texto explicativo

Nome do elemento

Descrição

A

Segmento de pilha de chamada ou nó

Contém uma série de contextos de método para um ou mais threads.Se o nó tiver sem linhas de seta conectadas a ele, ele representa o caminho da chamada inteira para os segmentos.

B

Realce azul

Indica o caminho da chamada do segmento atual.

C

Linhas de seta

Conectar-se a nós para compor o caminho da chamada inteira para os segmentos.

D

Dica de ferramenta no cabeçalho do nó

Mostra o ID e o nome definido pelo usuário de cada thread cujo caminho chamada compartilha esse nó.

E

Contexto do método

Representa um ou mais quadros de pilha no mesmo método.

F

Dica de ferramenta no contexto do método

Na visualização de Threads, ele mostra todos os threads em uma tabela similar do segmentos janela.No modo de exibição de tarefa, ele mostra todas as tarefas em uma tabela similar do Tarefas paralelas janela.

Além disso, a janela de pilhas paralela mostra uma Exibição vista panorâmica ícone no painel principal quando o gráfico é grande demais para caber na janela.Você pode clicar no ícone para ver o gráfico inteiro na janela.

Ícones de contexto do método

A tabela a seguir descreve os ícones que fornecem informações sobre os quadros de pilha de ativos e atual:

Ícone

Descrição

Seta amarela de pilhas paralelas

Indica que o contexto do método contém o quadro ativo de pilha do thread atual.

Ícone de Threads de pilhas paralelas

Indica que o contexto do método contém o quadro de pilhas ativo de um thread não atual.

Seta verde de pilhas paralelas

Indica que o contexto do método contém o quadro de pilha atual.Esse nome de método está em negrito em todos os nós em que ele apareça.

Controles da barra de ferramentas

A ilustração e a tabela a seguir descrevem os controles que estão disponíveis na barra de ferramentas pilhas paralela.

Barra de ferramentas Janela Pilhas paralela

Letra do texto explicativo

Controle

Descrição

A

Caixa de combinação de threads/tarefas.

Alterna o modo de exibição entre pilhas de segmentos de chamada e chamar pilhas de tarefas.Para obter mais informações, consulte modos de exibição de tarefas e segmentos.

B

Mostrar apenas sinalizado

Pilhas de chamada mostra somente para os threads sinalizados em outras janelas de depuração, tais como o Segmentos de GPU janela e o Watch paralela janela.

C

Alternar modo de exibição do método

Alterna entre os modos de exibição de pilha e método.Para obter mais informações, consulte visualização do método.

D

Rolagem automática para o quadro de pilha atual

Autoscrolls o diagrama para que o quadro de pilha atual está no modo de exibição.Esse recurso é útil quando você está alterando o quadro de pilha atual de outras janelas ou quando você a alcançar um novo ponto de interrupção em diagramas grandes.

E

Controle de Zoom de alternância

Mostra ou oculta o controle de zoom.Você também pode ampliar pressionando CTRL e ativando a roda do mouse, independentemente da visibilidade do controle de zoom.

Dd998398.collapse_all(pt-br,VS.110).gifItens de Menu de contexto

A ilustração e a tabela a seguir descrevem os itens de menu de atalho estão disponíveis quando o botão direito do mouse um contexto de método na visualização de Threads ou modo de exibição de tarefas.Os últimos seis itens forem emprestados diretamente da janela Call Stack e não apresentam nenhum novo comportamento.

Menu de contexto de pilhas paralelas

Menu Item

Descrição

Sinalizador

Sinaliza o item selecionado.

Remover sinalização

Unflags o item selecionado.

Congelar

Congela o item selecionado.

Descongelamento

Descongela o item selecionado.

Ir para tarefa (Thread)

Executa a mesma função que a caixa de combinação na barra de ferramentas, mas mantém a mesma estrutura de pilhas realçada.

Vá para o código-fonte

Navega para o local no código-fonte que corresponde ao quadro de pilha que o usuário right-clicked.

Alternar para quadro

Mesmo que o comando de menu correspondente na janela Call Stack.No entanto, com pilhas de paralela, vários quadros podem corresponder ao contexto de um método.Portanto, o item de menu tem submenus, cada um deles representa um quadro de pilha específico.Se um dos quadros de pilha estiver no thread atual, o menu correspondente a esse quadro de pilha é selecionado.

Ir para desmontagem

Navega para o local na janela disassembly que corresponde ao quadro de pilha que o usuário right-clicked.

Mostrar código externo

Mostra ou oculta o código externo.

Exibição hexadecimal

Alterna entre a exibição de decimal e hexadecimal.

Informações de carga de símbolo

Exibe a caixa de diálogo correspondente.

Configurações de símbolo

Exibe a caixa de diálogo correspondente.

Modo de exibição tarefas

Se seu aplicativo estiver usando System.Threading.Tasks.Task objetos (código gerenciado) ou task_handle objetos (código nativo) para expressar o paralelismo, você pode usar a caixa de combinação da barra de ferramentas da janela de pilhas paralela para alternar para o Modo de exibição tarefas.Modo de exibição de tarefas mostra as pilhas de chamadas de tarefas em vez de threads.Modo de exibição de tarefas é diferente de visualização de Threads da seguinte maneira:

  • Pilhas de chamadas de segmentos que não estejam executando as tarefas não são mostradas.

  • Pilhas de chamadas de segmentos que estão executando tarefas visualmente são cortadas na parte superior e inferior para mostrar os quadros mais relevantes que pertencem às tarefas.

  • Quando várias tarefas estão em um thread, as pilhas de chamadas dessas tarefas são divididas check-out em nós separadas.

A ilustração a seguir mostra o modo de exibição de tarefas pilhas paralela à direita e a visualização de Threads correspondente à esquerda.

Modo de exibição de tarefas de pilhas paralelas

Para ver a pilha de chamadas inteira, apenas alterne para a visualização de Threads direito do mouse em um quadro de pilha e, em seguida, clicando em Ir para o segmento.

Conforme descrito na tabela anterior, focalizando um contexto de método, você pode ver informações adicionais.A imagem a seguir mostra as informações na dica de ferramenta para o modo de exibição de Threads e o modo de exibição de tarefas.

Dicas de ferramentas de pilhas paralelas

Visualização do método

Na visualização de Threads ou modo de exibição de tarefas, você pode dinamizar o gráfico no método atual, clicando no ícone do modo de exibição do método na barra de ferramentas.Método de exibição mostra rapidamente todos os métodos em todos os threads que chamam ou são chamados pelo método atual.A ilustração a seguir mostra uma visualização de Threads e também como as mesmas informações aparece no modo de exibição do método.

Exibição de método de pilhas paralelas

Alternando para um novo quadro de pilha, faça esse método método atual e fazer com que a janela para mostrar todos os chamadores e chamados para o novo método.Isso pode causar alguns segmentos apareçam ou desapareçam da exibição, dependendo se esse método é exibida em suas pilhas de chamadas.Para retornar ao modo de exibição de pilha, clique no botão de barra de ferramentas de visualização do método novamente.

Consulte também

Tarefas

Passo a passo: Depurando um aplicativo paralelo

Passo a passo: Depurando um aplicativo paralelo

Referência

Classe Task

Conceitos

Usando a janela de tarefas paralelas

Outros recursos

Depurador Roadmap

Depurando código gerenciado

Programação em paralela a.NET Framework