Partilhar via


!for_each_frame

A extensão !for_each_frame executa um comando do depurador uma vez para cada quadro na pilha do thread atual.

!for_each_frame ["CommandString"] 
!for_each_frame -?

Parâmetros

Sequência de comandos
Especifica os comandos do depurador a serem executados uma vez para cada quadro. Se CommandString incluir vários comandos, você deverá separá-los com ponto-e-vírgula e colocar CommandString entre aspas. Se você incluir vários comandos, os comandos individuais dentro de CommandString não poderão conter aspas. Se você quiser se referir ao índice do quadro atual em CommandString, use o pseudo-registro @$frame.

-?
Exibe um texto de Ajuda dessa extensão na janela Comando do Depurador.

DLL

Ext.dll

Informações Adicionais

Para obter mais informações sobre o contexto local, confira Alterando contextos.

Comentários

Se você não especificar um argumento, a extensão !for_each_frame exibirá uma lista de todos os quadros e seus índices de quadro. Para obter uma lista mais detalhada de todos os quadros, use o comando k (Exibir Backtrace da Pilha).

O comando k vai até 256 quadros. Para cada quadro enumerado, esse quadro se torna temporariamente o contexto local atual (semelhante ao comando .frame (Definir Contexto Local)). Depois que o contexto tiver sido definido, CommandString será executado. Depois que todos os quadros tiverem sido usados, o contexto local será redefinido para o valor que tinha antes de usar a extensão !for_each_frame.

Se você incluir CommandString, o depurador exibirá o quadro e seu índice antes que o comando seja executado para esse quadro.

O comando a seguir exibe todas as variáveis locais para a pilha atual.

!for_each_frame !for_each_local dt @#Local