Have you ever tried to debug an issue that only pops up randomly? Do you wish there was more to debugging than just printf statements? There is help for you! This session will focus on practical, real-world debugging to show you how to track down elusive bugs as well as get more debug data from your device. It will go through how to interpret that data so that you really know what is going on inside of your application instead of just guessing fixes. In addition, the session covers how to diagnose exceptions (like hard faults), debug multiple code images simultaneously, and how to get the most out of your debugging environment to enable you to deploy your application as quickly as possible. Full code trace, timeline visualization, function profiling, code coverage, conditional breakpoints – there is a lot of functionality and useful shortcuts that can boost your efficiency while gaining complete control of every line of code and every single instruction executed in your complex application.