4
Advanced Debugging Features
In Chapter 3, we learned about various basic debug features, such as breakpoints, printf debugging, debug state control, usage of the call stack and disassembly for debugging, and much more. What these debug features and techniques all have in common is that they are usually readily available on modern embedded systems and are thus easily accessible.
However, in some instances, these features may not be sufficient to analyze a problem completely.
That is why, in this chapter, the focus will be on more advanced debug features that might have a more niche use case but are very valuable if extra system insight is needed.
In this chapter, we will cover the following main topics:
- Software and hardware tracing
- Live symbol tracking
- Power profiling
- RTOS awareness
- Monitor mode debugging
By the end of the chapter, you should be able to apply the introduced advanced debug techniques and features and be able to recognize when a specific technique may be required.