Compartilhar via


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