.exdicmd (Comando EXDI)
O .exdicmd envia um comando EXDI (Interface de Depuração Estendida) para o sistema de destino usando a conexão de depuração EXDI ativa. Para obter mais informações sobre EXDI, consulte Configurando o transporte do depurador EXDI.
exdicmd component|target parameters
Este comando passa os parâmetros diretamente para um componente EXDI. Consulte a documentação do componente EXDI para obter mais informações sobre os comandos válidos disponíveis para o sistema de destino.
Nem todos os componentes EXDI têm essa função implementada.
Parâmetros
Estes são os parâmetros válidos para .exdicmd.
Parâmetro | Descrição |
---|---|
target:*:<string> |
Passe a função para <string> a entidade final de destino para todos os núcleos do processador. |
target:<n>:<string> |
Passe a função para <string> a entidade final de destino para o núcleo do processador n (número n decimal). |
component:*:<string> |
Execute uma função de componente <string> EXDI em todos os núcleos do processador. |
component:<n>:<string> |
Execute uma função de componente <string> EXDI no núcleo do processador n (número n decimal). |
help |
Exibir ajuda básica. |
Uso de exdicmd de destino
.exdicmd target:*:<string>
O uso do parâmetro target fornece uma maneira de se comunicar entre o depurador Windows e o servidor EXDI COM. O depurador exibirá o resultado do comando se o comando retornar uma resposta de volta ao mecanismo do depurador.
O parâmetro de destino .exdicmd usará qualquer comando que o servidor EXDI COM seja capaz de processar. Isso permite o uso de comandos além do que é suportado diretamente na interface EXDI.
Uso de exdicmd de componente
.exdicmd <component>:
O objetivo desse comando é principalmente ser capaz de executar/testar funções do servidor EXDI COM para validar a funcionalidade básica. Normalmente, é usado menos do que o uso do parâmetro de destino descrito acima.
Observe que existem comandos que podem ser acionados internamente pelo servidor EXDI COM sem a necessidade de enviá-lo para a entidade de destino JTAG. Por exemplo, é possível coletar telemetria do servidor EXDI COM para validar sua operação correta.
Ambiente
Descritor | Valor |
---|---|
Modos | Somente no modo kernel |
Destino | Somente depuração ao vivo |
Plataformas | Tudo |
Informações Adicionais
Exemplo de uso de .exdicmd com um destino OpenOCD, que usa a sintaxe, .exdicmd target:0:<OpenOCD command>
é mostrado abaixo.
0: kd> .exdicmd target:0:info network
Target command response: e1000.0: index=0,type=nic,model=e1000,macaddr=52:54:00:12:34:56
\ net0: index=0,type=user,net=10.0.2.0,restrict=off
OK
exdiCmd: The function: 'info network' was completed.
0: kd> .exdicmd target:0:info registers system -v
Target command response:
NumberOfRegisters: 9
Name | Value | Access code
fs_base | 0000000000000000 | n/a
gs_base | fffff8047b907000 | n/a
k_gs_base | 000000e7cbdbe000 | n/a
cr0 | 0000000080050033 | n/a
cr2 | fffff8048454de64 | n/a
cr3 | 00000000001ae000 | n/a
cr4 | 00000000000006f8 | n/a
cr8 | 0000000000000000 | n/a
efer | 0000000000000d01 | 0xc0000080
exdiCmd: The function: 'info registers system -v' was completed.
Se o sistema de destino não for capaz de entender o comando, uma mensagem de comando desconhecido será retornada.
0: kd> .exdicmd target:0:Foo
Target command response: unknown command: 'Foo'
.máscara
Se a saída não for exibida, verifique se a máscara de saída está definida para exibir a saída detalhada usando .outmask (Máscara de saída de controle).
Se o depurador não tiver sido iniciado no modo detalhado, o .outmask poderá ser definido usando .outmask 7FF
.
Comentários
Para obter mais informações sobre como configurar uma conexão do depurador EXDI, consulte Configurando o transporte do depurador EXDI.