.exdicmd (EXDI コマンド)

.exdicmd は、アクティブな EXDI デバッグ接続を使用して、拡張デバッグ インターフェイス (EXDI) コマンドをターゲット システムに送信します。 EXDI の詳細については、「EXDI デバッガー トランスポートの構成」を参照してください。

exdicmd component|target parameters

このコマンドは、パラメーターを EXDI コンポーネントに直接渡します。 ターゲット システムで使用できる有効なコマンドの詳細については、EXDI コンポーネントのドキュメントを参照してください。

すべての EXDI コンポーネントにこの機能が実装されているわけではありません。

パラメーター

これらは .exdicmd の有効なパラメータです。

パラメーター 説明
target:*:<string> すべてのプロセッサ コアのターゲット エンド エンティティに<string>関数をパススルーします。
target:<n>:<string> <string>関数をプロセッサ コア n (n の 10 進数) のターゲット エンド エンティティに渡します。
component:*:<string> すべてのプロセッサ コアで EXDI コンポーネント<string>関数を実行します。
component:<n>:<string> プロセッサコアn(n-10進数)上で<string>EXDIコンポーネント関数を実行します。
help 基本的なヘルプを表示します。

ターゲット exdicmd の使用法

.exdicmd target:*:<string>

target パラメーターを使用すると、Windows デバッガーと EXDI COM サーバーの間で通信する方法が提供されます。 コマンドがデバッガー エンジンに応答を返した場合、デバッガーはコマンドの結果を表示します。

.exdicmd ターゲット パラメータは、EXDI COM サーバーが処理できる任意のコマンドを受け取ります。 これにより、EXDI インターフェイスで直接サポートされている範囲を超えたコマンドの使用が可能になります。

コンポーネント exdicmd の使用法

.exdicmd <component>:

このコマンドの主な目的は、EXDI COM サーバー関数を実行/テストして基本機能を検証できるようにすることです。 通常、上記のターゲット パラメータの使用量よりも少なく使用されます。

JTAG ターゲット エンティティに送信する必要がなく、EXDI COM サーバーによって内部的に実行できるコマンドがあることに注意してください。 たとえば、EXDI COM サーバーからテレメトリを収集して、その動作が正しいことを検証することができます。

環境

Descriptor Value
モード カーネルモードのみ
ターゲット ライブデバッグのみ
プラットフォーム すべて

追加情報

この構文を使用する OpenOCD ターゲットでの .exdicmd の使用例を以下.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 7FFを使用して .outmask を設定できます。

解説

EXDI デバッガー接続のセットアップの詳細については、「EXDI デバッガー トランスポートの構成」を参照してください。