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.
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 (
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.