Exibir a pilha de chamadas e usar a janela Pilha de Chamadas no depurador

Ao usar a janela Pilha de Chamadas, você pode exibir chamadas de função ou procedimento que estão na pilha atualmente. A janela Pilha de Chamadas mostra a ordem em que os métodos e as funções são chamados. A pilha de chamadas é uma boa maneira de examinar e entender o fluxo de execução de um aplicativo.

Ao depurar símbolos que não estão disponíveis para a parte de uma pilha de chamadas, a janela Pilha de chamadas não poderá exibir as informações corretas para essa parte da pilha de chamadas, sendo exibido no lugar:

[Frames below may be incorrect and/or missing, no symbols loaded for name.dll]

Observação

As caixas de diálogo e os comandos de menu vistos podem ser diferentes daqueles descritos aqui, dependendo da edição ou das configurações ativas. Para alterar as configurações, selecione Importar e Exportar Configurações no menu Ferramentas. Consulte Redefinir todas as configurações. A janela Pilha de Chamadas é semelhante à perspectiva de Depuração em alguns IDEs, como o Eclipse.

Exibir a pilha de chamadas enquanto estiver no depurador

Durante a depuração, no menu Depurar, selecione Pilha de Chamadas do Windows> ou pressione ctrl+alt+C.

Screenshot showing the Call Stack Window. Uma seta amarela identifica o quadro de pilha onde o ponteiro de execução está localizado atualmente. Por padrão, as informações desse frame de pilha aparecem nas janelas de origem, Locais, Automáticas, Inspeção e Desmontagem. Para alterar o contexto do depurador para outro quadro na pilha, alterne para outro quadro de pilha.

Screenshot showing the Call Stack Window.

Uma seta amarela identifica o quadro de pilha onde o ponteiro de execução está localizado atualmente. Por padrão, as informações desse frame de pilha aparecem nas janelas de origem, Locais, Automáticas, Inspeção e Desmontagem. Para alterar o contexto do depurador para outro quadro na pilha, alterne para outro quadro de pilha.

Você também pode exibir quadros de pilha de exceção na pilha de chamadas durante a depuração. Para obter mais informações, consulte Exibir a pilha de chamadas no Auxiliar de exceção.

Exibir código de não usuário na janela Pilha de chamadas

Para exibir o código externo ou não usuário, alterne o botão Mostrar código externo, clique com o botão direito do mouse na janela Pilha de Chamadas e selecione Mostrar Código Externo.

Para exibir o código externo ou que não é de usuário, alterne o botão Mostrar Código Externo da pilha de chamadas ou clique com o botão direito do mouse na janela Pilha de Chamadas e selecione Mostrar Código Externo.

O código não usuário é qualquer código que não é mostrado quando Apenas Meu Código está habilitado. No código gerenciado, os quadros de código não usuário ficam ocultos por padrão. A notação a seguir aparece no lugar dos quadros de código não usuário:

[<External Code>]

Alternar para outro quadro de pilha (alterar o contexto do depurador)

  1. Na janela Pilha de chamadas, clique com o botão direito do mouse no quadro de pilha cujos dados e código você deseja exibir.

    Ou você pode clicar duas vezes em um quadro na janela Pilha de Chamadas para alternar para esse quadro.

  2. Selecione Alternar para Quadro.

    Uma seta verde com uma parte final encaracolada aparece ao lado do quadro de pilha que você selecionou. O ponteiro de execução permanece no quadro original, que ainda está marcado com a seta amarela. Se você selecionar Etapa ou Continuar no menu Depurar, a execução continuará no quadro original, não no quadro selecionado.

Alterne o botão Exibir todos os threads para ver todos os threads relacionados na janela Pilha Paralela.

Você pode pesquisar quadros de pilha de chamadas relevantes digitando termos de pesquisa relevantes na caixa de pesquisa localizada no canto superior esquerdo da janela da pilha de chamadas. Os quadros de pilha de chamadas pertinentes serão realçados.

Exibir o código-fonte em uma função na pilha de chamadas

Na janela Pilha de Chamadas, clique com o botão direito do mouse na função cujo código-fonte você deseja ver e selecione Ir para Código-Fonte.

Executar em uma função específica da janela de pilha de chamadas

Na janela Pilha de Chamadas, selecione a função, clique com o botão direito do mouse e escolha Executar para Cursor.

Definir um ponto de interrupção no ponto de saída de uma chamada de função

Consulte Definir um ponto de interrupção em uma função de pilha de chamadas.

Exibir chamadas para ou de outro segmento

Clique com o botão direito do mouse na janela Pilha de Chamadas e selecione Incluir chamadas para/de outros threads.

Rastrear visualmente a pilha de chamadas

No Visual Studio Enterprise (somente), você pode exibir mapas de código para a pilha de chamadas durante a depuração.

Na janela Pilha de Chamadas, abra o menu de atalho. Escolha Exibir pilha de chamadas no Mapa de Códigos (Ctrl + Shift + `).

Para obter mais informações, consulte Mapear métodos na pilha de chamadas durante a depuração.

Show Call Stack on Code Map

Exibir o código de desmontagem de uma função na pilha de chamadas (C#, C++, Visual Basic, F#)

Na janela Pilha de Chamadas, clique com o botão direito do mouse na função cujo código de desmontagem você deseja ver e selecione Ir para Desmontagem.

Alterar as informações opcionais exibidas

Clique com o botão direito do mouse na janela Pilha de Chamadas e defina ou desmarque Mostrar <as informações desejadas>.

Descompilar automaticamente o código externo .NET

A partir do Visual Studio 2022 versão 17.7, você pode descompilar automaticamente o código .NET clicando duas vezes no código externo na janela Pilha de chamadas. Para mais informações, consulte Gere código-fonte de assemblies .NET durante a depuração.

Carregar símbolos para um módulo (C#, C++, Visual Basic, F#)

Na janela Pilha de Chamadas, você pode carregar símbolos de depuração para o código que atualmente não tem símbolos carregados. Esses símbolos podem ser símbolos do .NET ou do sistema baixados dos servidores públicos de símbolo da Microsoft ou de símbolos em um caminho de símbolo no computador que você está depurando.

Confira Especificar arquivos de símbolo (.pdb) e de origem.

Para carregar símbolos

  1. Na janela Pilha de Chamadas, clique com o botão direito do mouse no quadro de pilha para o qual os símbolos não foram carregados. O quadro ficará esmaecido.

  2. Aponte para Carregar Símbolos e selecione Servidores de Símbolos da Microsoft (se disponíveis) ou navegue até o caminho do símbolo.

Para definir o caminho do símbolo

  1. Na janela Pilha de Chamadas, escolha Configurações de Símbolo no menu de atalho.

    A caixa de diálogo Opções abre e a página Símbolos é exibida.

  2. Selecione Configurações de Símbolo.

  3. Na caixa de diálogo Opções, clique no ícone da Pasta.

    Na caixa Locais do arquivo de símbolo (.pdb), um cursor será exibido.

  4. Digite um nome de caminho de diretório no local do símbolo no computador que você está depurando. Para depuração local e remota, esse é um caminho no computador local.

  5. Selecione OK para fechar a caixa de diálogo Opções.