Cortex-M developers have fantastic debug capabilities right at their fingertips. One extremely useful debug capability, that Serial Wire Viewer (SWV) event- and data tracing enables, is real-time data tracing. With a debugger that supports this useful functionality, you can watch variable values live as the target system runs at full speed (no need to stop on a breakpoint to watch a variable value).
And not only that. You can even watch an "oscilloscope style" real-time graph, that plots variable values live as the target system run at full speed. And you can monitor the memory reads and writes of particular variables too, and use the data access history log to work out when and why a certain variable suddenly got that erroneous value it should never get. Learn how to use these powerful debug techniques in this free video tutorial!
Click here for a blog post that covers the entire topic of Cortex-M debugging: