デバッグサーバー
デバッグサーバー は、組み込み開発のデバッグ設定を簡単に行うための構成オプションです。 事前構成済みデバッグサーバーを使用すると、実行/デバッグ構成や CMake や Makefile などのビルドシステムターゲットを実行できます。 また、GDB ターゲット拡張リモートモードとして知られる長時間実行されるデバッグサーバーセッションも実行できます。これは、デバッグを停止してもサーバーが終了しません。
このガイドでは、デバッグサーバーを構成してデバッグセッションを実行する方法について説明します。 機能のデモを行うために、SEGGER J-Link デバッガーが組み込まれた nRF52840 開発キット(英語)と、コンソールに「Hello world」を出力する簡単なアプリケーション例を使用します。
デバッグサーバーの設定
に移動し、 デバッグサーバー有効化 チェックボックスを選択します:

で デバッグサーバー オプションを見つけるか、メインツールバースイッチャーで を選択します:

新しいデバッグサーバーを追加するには、 + をクリックします:

必要なテンプレートを選択してください:

汎用 テンプレートはあらゆるデバッグプローブに適しており、より幅広いオプションを提供します。 他のテンプレートはよりシンプルで柔軟性が低く、必要なオプションのみを提供します。 例: SEGGER J-Link テンプレートは J-Link デバッグプローブ専用に設計されており、 ST-LINK と ESP-IDF はそれぞれ STM32CubeMX および ESP-IDF プロジェクト用に設計されています。
プロジェクトの必要に応じて、適切なタブで GDB サーバー、デバイス、デバッガーを構成します。
J-Link ソフトウェアがインストールされている(英語)があることを確認してください。
注意すべき重要な設定:
SEGGER JLink GDB サーバー タブでは、作業するデバイスを指定する必要があります:

CLion は実行可能ファイルを使用してインストールパスを推測しようとしますが、場合によっては手動でパスを指定する必要があります。
デバイス設定 タブでは、 RTT、 Semihosting 、または SWO など、希望するコンソールタイプを選択して設定でき、
printf出力を表示できます。 ポートに加えて、SWO には他にも設定すべきパラメーターがあります。 MCU やファームウェアも適切に設定されていることを確認してください。
デバッガー タブには 永続セッション オプションがあります。 このオプションはデフォルトで有効化されており、セッション終了後もデバッグサーバーへの接続を維持します。 GDB サーバーのポートを指定するだけで構いません。

永続セッションは、デバッグサーバーが再起動するのを待たずに次のセッションの準備をしたい場合に便利です。 必要ない場合は、このオプションをオフにすることができます。
注意すべき重要な設定:
GDB サーバー タブにはデフォルト設定がないため、すべてのフィールドを手動で指定する必要があります。

GDB サーバー タブの ヘルプ フィールドでは、
--ヘルプコマンドラインパラメーターを使用して GDB サーバーを実行し、このフィールドで直接出力を表示し、使用可能な引数を見つけることができます。 青色でハイライトされた引数をクリックすると、自動的に 引数 フィールドに追加されます。 このオプションは、--ヘルプパラメーターをサポートする GDB サーバーでのみ機能することに注意してください。引数 フィールドの横にある テスト実行… をクリックして、引数の有効性を確認することもできます。
デバイス設定 タブでは、コンソールポートのみを指定できます。 つまり、コンソールの種類に制限はなく、任意の種類を使用できます。 コンソールを構成するには、 GDB サーバー タブの 引数 フィールドを使用します。
デバッガー タブでは、 永続セッション 機能に複数の構成オプションがあります。 引数 フィールドで、TCP ホストやポート、その他コマンドライン引数を指定できます。 デバッグ開始時に実行するカスタム接続スクリプトも作成できます。

デバッグサーバーの設定が完了したら、 OK をクリックします。 デバッグサーバーがメインツールバースイッチャーに表示されます。 デバッグを開始できます。
実行 / デバッグ構成のインポート
CLion で GDB サーバー実行構成をすでに使用している場合は、それをインポートして汎用デバッグサーバーに変換できます。 IDE がこのような構成を検出すると、対応するアイコンがダイアログに表示されます。

アイコンをクリックし、必要な構成を選択して、 インポート をクリックします。

VCS を使用したデバッグサーバーの共有
Git のようなバージョン管理システムを使用してデバッグサーバーの構成を共有できます。 デバッグサーバーの XML ファイルは、プロジェクトの .idea/debugServer にあります。

デバッグサーバーを使用したデバッグ
ソースコードにブレークポイントを設定します。
メインツールバーのスイッチャーから 実行 / デバッグ構成 を選択します:

ツールバーの
をクリックしてデバッグセッションを開始します。 デバッガーはデバッグプローブに接続します:

その後、利用可能なデバッガーアクションを実行し、必要なデータを分析できます。 デバッガーツールウィンドウの機能の詳細については、 概要を参照してください。
デバッグ ツールウィンドウには、組み込みシステムのデバッグ用に特別に設計されたオプションがいくつかあります。 例: MCU をリセットできます。

デバッグサーバーのログまたはコンソール出力を表示するには、 デバッグ ツールウィンドウの サービスを表示 アイコンまたは左側の サービス ツールウィンドウアイコンをクリックします。

GdbServer タブを選択します。

コンソール出力を表示するには、 MCU コンソール タブを選択します。

さらに便利にするために、 サービス ツールウィンドウを右に移動してデバッガーを操作し、同時にコンソール出力などを表示することもできます。
