.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 7FF
de .
Notes
Pour plus d’informations sur la configuration d’une connexion de débogueur EXDI, consultez Configuration du transport du débogueur EXDI.