Поделиться через


.exdicmd (команда EXDI)

Exdicmd отправляет команду расширенного интерфейса отладки (EXDI) в целевую систему с помощью активного подключения отладки EXDI. Дополнительные сведения об EXDI см. в разделе "Настройка транспорта отладчика EXDI".

exdicmd component|target parameters

Эта команда передает параметры непосредственно компоненту EXDI. Дополнительные сведения о допустимых командах, доступных для целевой системы, см. в документации по компоненту EXDI.

Не все компоненты EXDI реализуют эту функцию.

Параметры

Это допустимые параметры для exdicmd.

Параметр Описание
target:*:<string> Передайте функцию целевой <string> конечной сущности для всех ядер процессора.
target:<n>:<string> Передайте функцию <string> целевой конечной сущности для ядра процессора n (n-десятичное число).
component:*:<string> Выполните функцию компонента <string> EXDI во всех ядрах процессора.
component:<n>:<string> Выполните функцию компонента <string> EXDI в ядре процессора n (n-десятичное число).
help Отображение базовой справки.

Использование exdicmd целевого объекта

.exdicmd target:*:<string>

Использование целевого параметра позволяет взаимодействовать между отладчиком Windows и COM-сервером EXDI. Отладчик отобразит результат команды, если команда возвращает ответ обратно подсистеме отладчика.

Параметр целевого объекта .exdicmd принимает любую команду, которую может обрабатывать СЕРВЕР EXDI COM. Это позволяет использовать команды вне того, что поддерживается непосредственно в интерфейсе EXDI.

Использование exdicmd компонента

.exdicmd <component>:

Эта команда предназначена в первую очередь для выполнения и тестирования функций COM-сервера EXDI для проверки основных функциональных возможностей. Обычно он используется меньше, чем использование целевого параметра, описанное выше.

Обратите внимание, что существуют команды, которые могут выполняться внутри сервера EXDI COM без необходимости отправлять его в целевую сущность JTAG. Например, можно собирать данные телеметрии с COM-сервера EXDI для проверки правильной операции.

Среда

Дескриптор Значение
Режимы Только режим ядра
Назначение Только динамическая отладка
Платформы Все

Дополнительная информация

Пример использования exdicmd с целевым объектом OpenOCD, который использует синтаксис, .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.

Если целевая система не может понять команду, и будет возвращено неизвестное сообщение команды .

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

.outmask

Если выходные данные не отображаются, убедитесь, что для маски вывода задан подробный вывод с помощью outmask (Control Output Mask).

Если отладчик не был запущен в подробном режиме, можно задать .outmask с помощью .outmask 7FF.

Замечания

Дополнительные сведения о настройке подключения отладчика EXDI см. в разделе "Настройка транспорта отладчика EXDI".