Partager via


.exdicmd (commande EXDI)

. exdicmd envoie une commande EXDI (Extended Debugging Interface) au système cible à l’aide de la connexion de débogage EXDI active. Pour plus d’informations sur EXDI, consultez La configuration du transport du débogueur EXDI.

exdicmd component|target parameters

Cette commande transmet directement les paramètres à un composant EXDI. Pour plus d’informations sur les commandes valides disponibles pour votre système cible, reportez-vous à la documentation de votre composant EXDI.

Tous les composants EXDI n’ont pas cette fonction implémentée.

Paramètres

Il s’agit des paramètres valides pour .exdicmd.

Paramètre Description
target:*:<string> Passez la <string> fonction à l’entité de fin cible pour tous les cœurs du processeur.
target:<n>:<string> Passez la <string> fonction à l’entité de fin cible pour le cœur de processeur n (nombre n décimal).
component:*:<string> Exécutez une fonction de composant <string> EXDI sur tous les cœurs du processeur.
component:<n>:<string> Exécutez une fonction de composant <string> EXDI sur le cœur du processeur n (nombre n décimal).
help Afficher l’aide de base.

Utilisation d’exdicmd cible

.exdicmd target:*:<string>

L’utilisation du paramètre cible permet de communiquer entre le débogueur Windows et le serveur COM EXDI. Le débogueur affiche le résultat de la commande si la commande retourne une réponse au moteur du débogueur.

Le paramètre cible .exdicmd prend n’importe quelle commande que le serveur COM EXDI est en mesure de traiter. Cela permet l’utilisation des commandes au-delà de ce qui est pris en charge directement dans l’interface EXDI.

Utilisation de l’exdicmd du composant

.exdicmd <component>:

L’objectif de cette commande est principalement de pouvoir exécuter/tester des fonctions de serveur EXDI COM pour valider les fonctionnalités de base. Il est généralement utilisé moins que l’utilisation du paramètre cible décrite ci-dessus.

Notez qu’il existe des commandes qui peuvent être exécutées en interne par le serveur COM EXDI sans qu’il soit nécessaire de l’envoyer à l’entité cible JTAG. Par exemple, il est possible de collecter des données de télémétrie à partir du serveur COM EXDI pour valider son opération correcte.

Environnement

Descripteur Valeur
Modes Mode noyau uniquement
Cible Débogage en direct uniquement
Platforms Tous

Informations supplémentaires

L’exemple d’utilisation de .exdicmd avec une cible OpenOCD, qui utilise la syntaxe, .exdicmd target:0:<OpenOCD command> est illustré ci-dessous.

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.

Si le système cible n’est pas en mesure de comprendre la commande et que le message de commande inconnu est retourné.

0: kd> .exdicmd target:0:Foo
Target command response: unknown command: 'Foo'

.outmask

Si la sortie n’est pas affichée, vérifiez que le masque de sortie est défini pour afficher une sortie détaillée à l’aide du masque de sortie .outmask (Masque de sortie du contrôle).

Si le débogueur n’a pas été lancé en mode détaillé, le masque .out peut être défini à l’aide .outmask 7FFde .

Notes

Pour plus d’informations sur la configuration d’une connexion de débogueur EXDI, consultez Configuration du transport du débogueur EXDI.