.exdicmd (comando EXDI)
. exdicmd invia un comando EXDI (Extended Debugging Interface) al sistema di destinazione usando la connessione di debug EXDI attiva. Per altre informazioni su EXDI, vedere Configuring the EXDI Debugger Transport.For more information about EXDI see, Configuring the EXDI Debugger Transport.
exdicmd component|target parameters
Questo comando passa i parametri direttamente a un componente EXDI. Per altre informazioni sui comandi validi disponibili per il sistema di destinazione, vedere la documentazione relativa al componente EXDI.
Questa funzione non è implementata da tutti i componenti EXDI.
Parametri
Questi sono i parametri validi per .exdicmd.
Parametro | Descrizione |
---|---|
target:*:<string> |
Passare la <string> funzione all'entità finale di destinazione per tutti i core del processore. |
target:<n>:<string> |
Passare la <string> funzione all'entità finale di destinazione per il core del processore n (numero decimale n). |
component:*:<string> |
Eseguire una funzione componente <string> EXDI in tutti i core del processore. |
component:<n>:<string> |
Eseguire una funzione componente <string> EXDI nel core del processore n (numero decimale n). |
help |
Visualizzare la Guida di base. |
Utilizzo exdicmd di destinazione
.exdicmd target:*:<string>
L'uso del parametro di destinazione consente di comunicare tra il debugger Windows e il server COM EXDI. Il debugger visualizzerà il risultato del comando se il comando restituisce una risposta al motore del debugger.
Il parametro di destinazione .exdicmd accetta qualsiasi comando che il server COM EXDI è in grado di elaborare. Ciò consente l'utilizzo dei comandi oltre a ciò che è supportato direttamente nell'interfaccia EXDI.
Utilizzo di exdicmd dei componenti
.exdicmd <component>:
Lo scopo di questo comando è principalmente quello di poter eseguire/testare le funzioni del server COM EXDI per convalidare le funzionalità di base. In genere viene usato meno quindi l'utilizzo del parametro di destinazione descritto in precedenza.
Si noti che esistono comandi che possono essere eseguiti internamente dal server COM EXDI senza che sia necessario inviarlo all'entità di destinazione JTAG. Ad esempio, è possibile raccogliere dati di telemetria dal server COM EXDI per convalidare l'operazione corretta.
Ambiente
Descrittore | Valore |
---|---|
Modalità | Solo modalità kernel |
Destinazione | Solo debug in tempo reale |
Piattaforme | Tutte le date |
Informazioni aggiuntive
Di seguito è riportato un esempio di utilizzo di .exdicmd con una destinazione OpenOCD, che usa la sintassi .exdicmd target:0:<OpenOCD command>
.
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 il sistema di destinazione non è in grado di comprendere il comando e verrà restituito un messaggio di comando sconosciuto.
0: kd> .exdicmd target:0:Foo
Target command response: unknown command: 'Foo'
Maschera .outmask
Se l'output non viene visualizzato, verificare che la maschera di output sia impostata per visualizzare l'output dettagliato usando .outmask (Maschera di output del controllo).If output is not display that the output mask is set to display verbose output using .outmask (Control Output Mask).
Se il debugger non è stato avviato in modalità dettagliata, è possibile impostare .outmask usando .outmask 7FF
.
Osservazioni:
Per altre informazioni sulla configurazione di una connessione di debugger EXDI, vedere Configuring the EXDI Debugger Transport.