Usando comandos do depurador AMLI
Os comandos a seguir podem ser emitidos a partir do prompt do Depurador AMLI.
Categoria Geral | Acção específica | Comandos do depurador AMLI |
---|---|---|
Controlando o depurador |
Continuar a interrupção da execução no depurador de kernel | gq |
Controlando a execução de AML |
Executar método passo sobre rastreamento de código AML em código AML | corrapt |
Controlando as configurações do modo de rastreamento |
Configurar o modo de rastreamento |
trace |
Notificando um objeto de namespace |
Notificar objeto de namespace |
notificar |
Exibição da tabela de contagem de objetos |
Exibir tabela de contagem de objetos |
dc |
Acessando a memória |
Exibir dados Exibir bytes de dados Exibir palavras de dados Exibir dados DWORDs Exibir memória de edição de cadeia de caracteres de dados | ddbdwddda e |
Acessando portas |
Ler Byte da Porta Ler Palavra da Porta Ler DWORD da Porta Gravar Byte na Porta Escrever Word na Porta Gravar DWORD na Porta | eunãosei comoOutworld Devourer |
Exibindo Ajuda |
Ajuda de exibição |
? |
Controlando o depurador
Esses comandos saem do Depurador AMLI. O comando g retomará a execução normal do computador de destino e o comando q congelará o computador de destino e invadirá o depurador do kernel.
g
q
Controlando a execução de AML
Esses comandos permitem que você execute ou percorra métodos AML. O comando run inicia a execução em um ponto especificado. Os comandos p e t permitem que você percorra uma instrução por vez. Se uma chamada de função for encontrada, o comando p tratará a função como uma única etapa, enquanto o comando t rastreia na nova função uma instrução por vez.
run Nome_do_Método [ArgumentList]
run CodeAddress [ArgumentList]
p
t
MethodName
Especifica o caminho completo e o nome de um método. A execução começará no início do local de memória desse método.
Endereço do código
Especifica o endereço onde a execução deve começar.
Lista de argumentos
Especifica uma lista de argumentos a serem passados para o método. Cada argumento deve ser um número inteiro. Vários argumentos devem ser separados por espaços.
Controlando as configurações do modo de rastreamento
O comando trace controla as configurações do modo de rastreamento do interpretador AML. Se esse comando for usado sem parâmetros, as configurações atuais do modo de rastreamento serão exibidas.
trace [trigon|trigoff] [level=Level] [add=TPStrings] [zap=TPNumbers]
Trigon
Ativa o modo de acionamento de rastreamento.
trigo
Desativa o modo de acionamento de rastreamento.
Nível
Especifica a nova configuração para o nível de rastreamento.
TPStrings
Especifica um ou mais pontos de acionamento a serem adicionados. Cada ponto de acionamento é especificado pelo nome. Várias cadeias de caracteres de ponto de gatilho devem ser separadas por vírgulas.
Número TPNumbers
Especifica um ou mais pontos de acionamento a serem excluídos. Cada ponto de acionamento é especificado por número. Vários números de ponto de gatilho devem ser separados por vírgulas. Para ver uma lista de números de ponto de acionamento, use o comando trace sem parâmetros.
Notificando um objeto de namespace
O comando notify envia uma notificação para um objeto de namespace ACPI. A notificação será colocada na fila do objeto especificado.
notificar o valor ObjectName
notificar o valor do ObjectAddress
ObjectName
Especifica o caminho completo do namespace do objeto a ser notificado.
ObjectAddress
Especifica o endereço do objeto a ser notificado.
Valor
Especifica o valor da notificação.
Exibição da tabela de contagem de objetos
O comando dc exibe a tabela de contagem de objetos de memória.
dc
Acessando a memória
Os comandos de acesso à memória permitem que você leia e escreva na memória. Ao ler a memória, você pode escolher o tamanho das unidades de memória com o comando db, dw, dd ou da . Um comando d simples exibe a memória nas unidades escolhidas mais recentemente. Se este for o primeiro comando de exibição usado, as unidades de byte serão usadas.
Se nenhum endereço ou método for especificado, display começará onde o comando display anterior terminou.
Esses comandos têm o mesmo efeito que os comandos de memória do depurador de kernel padrão; eles são duplicados no depurador AMLI para facilitar o acesso.
d[b|w|d|a] [ [l=Comprimento] [ Método | [%%]Endereço ] ]
e [%%]Lista de dados de endereço
b
Especifica que os dados devem ser exibidos em unidades de byte.
w
Especifica que os dados devem ser exibidos em unidades de palavras (16 bits).
d
Especifica que os dados devem ser exibidos em unidades DWORD (32 bits).
a
Especifica que os dados devem ser exibidos como uma cadeia de caracteres. Os dados são exibidos como caracteres ASCII. A exibição termina quando um caractere NULL é lido ou quando caracteres de comprimento são exibidos.
Comprimento
Especifica o número de bytes a serem exibidos. O comprimento deve ser um número hexadecimal (sem um prefixo 0x ). Se Length for omitido, o tamanho de exibição padrão será 0x80 bytes.
Método
Especifica o caminho completo e o nome de um método. A exibição será iniciada no início do local de memória deste método.
Endereço
Especifica o endereço de memória onde a leitura ou gravação começará. Se o endereço for prefixado com dois sinais de porcentagem (%%), ele será interpretado como um endereço físico. Caso contrário, ele é interpretado como um endereço virtual.
Lista de dados
Especifica os dados a serem gravados na memória. Cada item na lista pode ser um byte hexadecimal ou uma string. Quando uma cadeia de caracteres é usada, ela deve ser colocada entre aspas. Vários itens devem ser separados por espaços.
Acessando portas
Os comandos port permitem que você envie ou receba entrada de uma porta de dados. Os comandos i e o transferem bytes únicos, os comandos iw e ow transferem palavras (16 bits) e os comandos id e od transferem DWORDS (32 bits).
Esses comandos têm o mesmo efeito que os comandos port do depurador de kernel padrão; eles são duplicados no depurador AMLI para facilitar o acesso.
i Porto
Porto iw
Porta id
o Porta DataForPort
ow Port DataForPort
od Port DataForPort
Porta
Especifica o endereço da porta a ser acessada. O tamanho da porta deve corresponder ao comando escolhido.
DataForPort
Especifica os dados a serem gravados na porta. O tamanho desses dados deve corresponder ao comando escolhido.
Exibindo Ajuda
Esse comando exibe o texto de ajuda para os comandos do Depurador AMLI.
? [Comando]
Comando
Especifica o comando para o qual exibir a ajuda. Se isso for omitido, uma lista de todos os comandos do AMLI Debugger e extensões do AMLI Debugger será exibida.