Compartilhar via


Depuração AML básica

O Depurador AMLI suporta dois tipos de comandos especializados: extensões do Depurador AMLI e comandos do Depurador AMLI.

Ao executar a depuração AML, você deve distinguir cuidadosamente entre dois tipos diferentes de prompts que aparecerão na janela Comando do Depurador:

  • Ao ver o prompt kd> , você está controlando o depurador de kernel. Todos os comandos e extensões padrão do depurador de kernel estão disponíveis. Além disso, as extensões do Depurador AMLI também estão disponíveis. Essas extensões têm uma sintaxe do comando !amli. Os comandos do Depurador AMLI não estão disponíveis neste modo.

  • Quando você vê o prompt AMLI(? para obter ajuda),> você está controlando o depurador AMLI. (Quando você estiver usando o WinDbg, esse prompt aparecerá no painel superior da janela Comando do Depurador e um O prompt de entrada> aparecerá no painel inferior.) Nesse prompt, você pode inserir qualquer comando do Depurador AMLI. Você também pode inserir qualquer extensão do Depurador AMLI; Essas extensões não devem ser prefixadas com !amli. Os comandos de depuração de kernel padrão não estão disponíveis neste modo.

  • Quando você não vê nenhum prompt, o computador de destino está em execução.

No início de qualquer sessão de depuração, você deve definir as opções do Depurador AMLI com a extensão !amli set. As opções verboseon, traceon e errbrkon também são muito úteis. Você deve considerar ativar a opção spewon . Consulte a página de referência da extensão para obter detalhes.

Há várias maneiras de o Depurador AMLI se tornar ativo:

  • Se um ponto de interrupção no código AML for encontrado, a ACPI será interrompida no Depurador AMLI.

  • Se ocorrer um erro grave ou exceção no código AML (como um int 3), a ACPI será interrompida no Depurador AMLI.

  • Se a opção errbrkon tiver sido definida, qualquer erro AML fará com que a ACPI entre no Depurador AMLI.

  • Se você quiser invadir deliberadamente o Depurador AMLI, use a extensão do depurador !amli e, em seguida, o comando g (Go). Na próxima vez que qualquer código AML for executado pelo interpretador, o Depurador AMLI assumirá o controle.

Quando você estiver no prompt do Depurador AMLI, digite q para retornar ao depurador de kernel ou digite g para retomar a execução normal.

As seguintes extensões são especialmente úteis para depuração AML:

  • A extensão dns !amli exibe o namespace ACPI para um objeto específico, a árvore de namespace subordinada a esse objeto ou até mesmo toda a árvore de namespace. Esse comando é especialmente útil para determinar o que é um objeto de namespace específico - se é um método, uma unidade de campo, um dispositivo ou outro tipo de objeto.

  • A extensão !amli find usa o nome de qualquer objeto de namespace e retorna seu caminho completo.

  • A extensão !amli u desmonta o código AML.

  • A extensão !amli lc exibe informações breves sobre todos os contextos ACPI ativos.

  • A extensão !amli r exibe informações detalhadas sobre o contexto atual do interpretador. Isso é útil quando o prompt do Depurador AMLI aparece depois que um erro é detectado.

  • Os pontos de interrupção podem ser definidos e controlados no código AML. Use !amli bp para definir um ponto de interrupção, !amli bc para limpar um ponto de interrupção, !amli bd para desabilitar um ponto de interrupção, !amli be para reabilitar um ponto de interrupção e !amli bl para listar todos os pontos de interrupção.

  • O Depurador AMLI é capaz de executar, depurar e rastrear por meio do código AML. Use os comandos run, p e t para executar essas ações.

Para obter uma lista completa de extensões e comandos, consulte Usando extensões do depurador AMLI e Usando comandos do depurador AMLI.

Confira também

O depurador AMLI