Being able to get a clear understanding of what all the threads in a system are doing is a huge help – for novices and experts alike. Tooling is especially helpful for this. Using a visualization tool such as SEGGER SystemView or Percepio Tracealyzer can be invaluable in understanding interactions between various tasks and interrupts in a system (see Chapter 6, Debugging Tools for Real-Time Systems, for details).
Having an RTOS-aware debugger is also a huge help since it allows us to stack the analysis of multiple tasks. This debugger can be part of your IDE or a standalone debugger such as SEGGER Ozone (see Chapters 5, Selecting an IDE, and Chapter 6, Debugging Tools for Real-Time Systems).