CLion 2026.2 Help

マルチスレッド RTOS デバッグ

RTOS でデバッグする場合、CLion は FreeRTOSAzure RTOSZephyr のタスク(スレッド)を表示できます。 FreeRTOS の場合、 オブジェクトヒープも探索できます。

RTOS スレッドビューを有効にする

  1. 設定 | ビルド、実行、デプロイ | 組み込み開発 | RTOS 統合 に進みます。

  2. RTOS 統合を有効にする チェックボックスを設定し、オプションのリストから選択します。

    RTOS 統合の有効化

RTOS 統合は、 実行/デバッグ構成 (例えば Embedded GDB サーバーOpenOCD ダウンロード & 実行 )で利用できるように設計されています。

例: QEMU(英語) エミュレーターを使用して組み込み GDB サーバー構成をセットアップする方法は次のとおりです。

組み込み GDB サーバーの構成例

FreeRTOS/Azure RTOS/Zephyr タスクビュー

上記のような構成をデバッグすると、FreeRTOS/Azure RTOS/Zephyr タスクが デバッグツールウィンドウスレッド & 変数 ペインに表示されます。

FreeRTOS スレッドビュー

タスクごとに、変数が 変数 ペインに表示されます。

RTOS タスクビューは 対称型マルチプロセッシング (SMP)(英語) でも機能します。 プロセッサーコアは同一で、同じメモリを共有する必要があります。

FreeRTOS オブジェクトビュー

FreeRTOS のオブジェクトを確認するには、 FreeRTOS オブジェクト タブに切り替えてください。 Task テーブルはステータス情報付きのタスクリストを表示し、 Queue テーブルは現在アクティブなキュー、セマフォ、ミューテックスを表示し、 Timer テーブルはソフトウェアタイマーを一覧表示します:

FreeRTOS オブジェクトビュー

このタブが正しく機能するようにするには、 FreeRTOSConfig.h で次の定義を構成します。

  • タスク番号とキュータイプを表示するには、 configUSE_TRACE_FACILITY を 1 に設定します。

  • タスク名を正しく表示するために、 configMAX_TASK_NAME_LEN をゼロより大きい値に設定してください。

  • タスクスタック情報を表示するには、 configRECORD_STACK_HIGH_ADDRESS を 1 に設定します。

  • ランタイム情報(タスクテーブルのランタイム列)を収集するには、 configUSE_TRACE_FACILITY および configGENERATE_RUN_TIME_STATS を 1 に設定します。

  • ゼロより大きい configQUEUE_REGISTRY_SIZE および vQueueAddToRegistry() を使用して、キュー、セマフォ、ミューテックスに名前を割り当てます。 タスク(作成時に名前を取得する)とは異なり、キューにはデフォルトで名前がないため、これは便利です。

CLion は、一部の定義が不足している場合に警告を表示します:

FreeRTOS は欠落を定義する

FreeRTOS ヒープビュー

FreeRTOS ヒープ タブには、すべてのデフォルトの FreeRTOS メモリ管理スキームの現在のヒープ使用量とメモリブロック割り当てが表示されます。

FreeRTOS ヒープビュー
2026 年 7 月 15 日