Vitis IDE デバッグ環境には、GDB などの従来の GUI ベース デバッグ環境にある多数の機能が含まれています。コードにブレークポイントを追加、コードの特定の行、ループ、または関数をステップオーバーまたはステップイン、変数のステートを確認して特定の値に変更できます。[Debug] ビューには、次の図に示すように複数のウィンドウやビューが表示されます。
図 1. デバッグ ビュー
- コントロール パネル
-
次の図のように、画面左上に [Debug] ビューの Control Panel が表示されます。デバッグを実行している間、Continue、Step Over、Step Into、Step Out、Restart、Stop などの制御ボタンを使用して、デバッグ プロセスを制御します。
図 2. [Debug] ビューのコントロール パネル - [Threads]
- Threads は、関連するデバッグ スレッドを表示します。デバッグ プロセスの間に、スレッドは作成されて破壊されます。複数のスレッドを切り替えることができます。
- [Call Stack]
- Call Stack は、アプリケーションの実行に伴い、関数呼び出しスタックが更新されるところを示します。
- [Variables]
- Variables は、グローバル変数とローカル変数の現在値を表示します。スレッドを切り替えると、変数情報は更新されます。
- [Watch]
- Watch は、ウォッチするように指定した変数や式が表示されます。ウォッチポイントを追加するには、Add Expression (+) をクリックします。
- ブレークポイント
-
Vitis IDE は、ホスト コンポーネントのメイン関数と、PL カーネルのトップ関数がデバッグ可能であれば、ブレークポイントを設定します。ブレークポイントを追加するには、ソース ファイルを開き、赤い点が表示されたときに行番号の左側をクリックします。以前に追加したブレークポイントをクリックすると、そのブレークポイントを削除できます。
赤い点が表示されているときに右クリックし、Add Conditional Breakpoint を選択すると、条件付きブレークポイントを追加できます。また、右クリックで Add Logpoint を選択すると、ブレークポイントに到達したときに記録するメッセージを挿入できます。
- ソース コード エディター
- Flow Navigator または Launch Configuration ビューから Debug を起動すると、Source Code ビューが開きます。
- Memory Inspector
- Memory Inspector は、特定のメモリ アドレスの内容を表示します。
- [Register Inspector]
- Register Inspector ビューは、アプリケーション コンポーネントのソース コードでブレークポイントがトリガーされたときの Cortex-A72 のレジスタ、および AI エンジン カーネルでブレークポイントがトリガーされたときの AI エンジン のレジスタを表示します。
- [Disassembly] ビュー
- Disassembly ビューは、ソース コード ウインドウの右クリックメニューから開くことができます。
- デバッグ コンソール
- デバッグ プロセスのトランスクリプトと、
printf()
文などのテストされたアプリケーションから受信したメッセージを表示します。
ヒント:
Vitis Unified IDE では、ツールバー メニューから Debug ビューのステータスも表示され、デバッグ中の実行セッション数が青い円でハイライトされます。これは、ビューを変更したときに Debug がまだ実行中である場合に便利なリマインダーになります。