Exibindo a pilha de chamadas no WinDbg (clássico)

A pilha de chamadas é a cadeia de chamadas de função que levaram ao local atual do contador do programa. A função superior na pilha de chamadas é a função atual, a próxima função é a função que chamou a função atual e assim por diante. A pilha de chamadas exibida é baseada no contador do programa atual, a menos que você altere o contexto de registro. Para obter mais informações sobre como alterar o contexto de registro, consulte Alterando contextos.

No WinDbg, você pode exibir a pilha de chamadas inserindo comandos ou usando a janela Chamadas.

Janela de comando do depurador

Você pode exibir a pilha de chamadas inserindo um dos comandos k (Display Stack Backtrace) na janela Comando do Depurador.

Janela Chamadas

Como alternativa ao comando k , você pode exibir a pilha de chamadas na janela Chamadas. Para abrir a janela Chamadas, escolha Pilha de Chamadas no menu Exibir .

A captura de tela a seguir mostra um exemplo de uma janela Chamadas.

Captura de tela da janela Chamadas no WinDbg.

Os botões na janela Chamadas permitem personalizar a exibição da pilha de chamadas. Para mover para o local de chamada correspondente na janela Origem ou na janela Desmontagem, clique duas vezes em uma linha da pilha de chamadas ou selecione uma linha e pressione ENTER. Essa ação também altera o contexto local para o quadro de pilha selecionado. Para obter mais informações sobre como executar de ou para esse ponto, consulte Controlando o destino.

No modo de usuário, o rastreamento de pilha é baseado na pilha do thread atual. Para obter mais informações sobre a pilha do thread atual, consulte Controlando processos e threads.

No modo kernel, o rastreamento de pilha é baseado no contexto de registro atual. Você pode definir o contexto de registro para corresponder a um thread específico, registro de contexto ou quadro de interceptação. Para obter mais informações sobre como definir o contexto de registro, consulte Registrar Contexto.

A janela Chamadas tem uma barra de ferramentas que contém vários botões e tem um menu de atalho com comandos adicionais. Para acessar esse menu, selecione e segure (ou clique com o botão direito do mouse) na barra de título ou selecione o ícone próximo ao canto superior direito da janela (Captura de tela do botão exibindo o menu de atalho da barra de ferramentas da janela Chamadas no WinDbg.

  • Args brutos exibe os três primeiros parâmetros que são passados para a função. Em um processador baseado em x86, essa exibição inclui os três primeiros parâmetros que são passados para a função ("Args to Child").

  • As informações do Func exibem dados de FPO (Omissão de Ponteiro de Quadro) e outras informações internas sobre a função. Esse comando está disponível apenas em um processador baseado em x86.

  • A origem exibe nomes de módulo de origem e números de linha após os nomes de função (se o depurador tiver essas informações).

  • Os complementos exibem vários endereços relacionados a quadros. Em um processador baseado em x86, essa exibição inclui o ponteiro base para o quadro de pilha ("ChildEBP") e o endereço de retorno ("RetAddr").

  • Os números de quadro exibem números de quadro. Os quadros são sempre numerados consecutivamente, começando com zero.

  • Os tipos Arg exibem informações detalhadas sobre os argumentos esperados e recebidos pelas funções na pilha.

  • Sempre flutuante faz com que a janela permaneça desencaixada mesmo se ela for arrastada para um local de encaixe.

  • Mover com quadro faz com que a janela se mova quando o quadro WinDbg é movido, mesmo que a janela esteja desencaixada.

Informações adicionais

Para obter mais informações sobre o contexto de registro e o contexto local, consulte Alterando contextos.