Vitis IDEを使用すると、デバッグ機能に簡単にアクセスできます。手動で設定すると、デバッグの実行ファイルを設定するのに多くの手順が必要となります。デバッグ フローを使用すると、これらの手順が Vitis IDE で自動的に処理されます。
LD_LIBRARY_PATH
などの環境設定と競合しないようにする必要があります。デバッグ用に実行ファイルを準備するには、ビルド コンフィギュレーションを変更して Host debug および Kernel debug を適用できるようにする必要があります。これらのオプションは、Vitis IDE の Project Editor ビューから設定できます。Options セクションに 2 つのチェック ボックスがあります。
- [Host debug] は、ホスト コンパイルのデバッグ構文を有効にし、すべてのビルド タイプで使用できます。
- [Kernel debug] はカーネルのデバッグを有効にしますが、ソフトウェアおよびハードウェア エミュレーション ビルドでのみ使用できます。ハードウェア ビルドでのデバッグを有効にするには、Vitis のハードウェア関数設定 に示すように Chipscope Debug 設定を使用します。
これらのチェック ボックスをオンにすると、g++ および Vitis コンパイラで -g
または --debug
オプションがイネーブルになります。
デバッグ機能は、Vitis ビルド コンィギュレーション設定 に示す Build Configuration Settings ダイアログ ボックスからもイネーブルにできるほか、Assistant ビューでビルド コンフィギュレーションを選択して Settings ボタンをクリックしても有効にできます。または、ビルド コンフィギュレーションをダブルクリックします。同じ 2 つのチェック ボックスが表示されます。ホスト デバッグはすべてのターゲットで有効にできますが、カーネル デバッグはソフトウェア エミュレーションおよびハードウェア エミュレーション ビルド ターゲットでしかサポートされません。
Vitis IDE から GDB セッションを実行すると、必要なものがすべて設定され、ハードウェアまたはソフトウェア エミュレーションの環境設定が自動的に管理されます。xrt.ini ファイル に説明するように、アプリケーションが実行されるときにデバッグがサポートされるように XRT が設定され、ホスト コード、カーネル コード、およびデバッグ サーバーの実行に必要なさまざまなコンソールが管理されます。
エンベデッド プラットフォームで実行する際、Vitis IDE は QEMU システム モード、PL カーネルのロジック シミュレータも設定および起動し、それらの同期を管理します。詳細は、launch_emulator ユーティリティ を参照してください。
デバッグし、ビルド ディレクトリをクリーンアップしてアプリケーションをビルドし直すビルド コンフィギュレーションを設定すると、GDB デバッグ環境でプロジェクトを実行する準備が整います。
デバッグ セッションを開始するには、[Assistant] ビューのビルド コンフィギュレーションを選択し、Debug () ボタンをクリックします。Vitis IDE でデバッグ セッションを開始すると、パースペクティブが Debug に切り替わり、さまざまなデバッグ ビューおよびソース コード ウィンドウなどを管理するウィンドウが追加で表示されるようになります。次の図に、Debug パースペクティブを示します。
デバッグ環境を起動すると、デフォルトではホスト コードの main
関数本体の開始部分でアプリケーションが停止します。ほかの GDB グラフィカル フロントエンドと同様、ブレークポイントを設定し、変数を検証できます。Vitis IDE では、アクセラレーションされたカーネル インプリメンテーションに対しても同じ機能を使用できます。詳細は、アプリケーションおよびカーネルのデバッグ を参照してください。