For the case of debugging with FreeRTOS, CLion provides a view of FreeRTOS tasks (threads) with their names and current statuses in the debug tool window.
tip
Some gdbservers have built-in support for different RTOS. For the CLion integration to work correctly in such cases, you need to disable the built-in support on the gdbserver side.
Enable FreeRTOS thread view
Go to Settings / Preferences | Build, Execution, Deployment | Embedded Development | RTOS Integration.
Select the Enable RTOS Integration checkbox.
Both Auto and FreeRTOS options are applicable. Auto is a more general option for RTOS-s other than FreeRTOS (not supported currently).
note
Note that RTOS integration requires GDB 7.4 or later with Python support. You can use CLion's bundled GDB for that, see Switching between the debuggers.
For example, here is how an Embedded GDB Server configuration can be set up using the QEMU emulator:
Now if we place breakpoints and launch this configuration, the FreeRTOS tasks will be listed in the Frames pane of the debug tool window. We can switch between them and explore task variables in the Variables pane:
More FreeRTOS objects like queues, semaphores, mutexes, and timers are planned to be added later (see CPP-17219).