GDB カーネル デバッグは、ソフトウェア エミュレーション フローおよびハードウェア エミュレーション フローでサポートされます。通常のホスト コードのデバッグと同様、GDB 実行ファイルを IDE またはコマンド ライン フローでカーネルに接続し、ブレークポイントを設定して、カーネルの変数の内容をクエリします。カーネル GDB プロセスは生成されるソフトウェア プロセスに接続されるので、これはソフトウェア エミュレーションで完全にサポートされます。
ハードウェア エミュレーションでは、Vitis HLS でカーネル コードが RTL に変換されてから実行されます。RTL モデルのシミュレーションでは、パフォーマンスの最適化および同時ハードウェア実行のための変換がすべて適用されます。このため、すべての C/C++/OpenCL 行が独自に RTL コードにマップされるわけではないので、一部のブレークポイントのみがサポートされ、特定の変数のみをクエリ可能です。GDB ツールは、要求されたブレークポイント文に基づいて次の可能な行で停止し、RTL 変換のため変数をクエリできない場合はそれを明確に示します。