Cross debugging, and more generally, remote debugging, is something that may be unknown, or badly used, by either beginner engineers, or sometimes even by senior engineers, for several reasons. Some people simply do not know that remote debugging tools exists, some might consider the complex setup as a show-stopper, some other ones may not trust the tools (and we can explain why).
Yet the return of investment of such tools is significant, provided that they are used appropriately.
This presentation talks about the first-fruits of cross-debugging, going through some real experiences, some architecture schemes and functionnal descriptions, comparing the existing solutions (eg, gdb-server vs lldb vs tcf …), and their integration in IDEs (Eclipse, VsCode).
A technical chapter about the debugger mysteries, explains, in particular, why multithread, or SMP debugging is a complex issue, and how existing debuggers deal with it.
A chapter of performance analysis tools (eg, valgrind) is presented, too, in order to offer a kind of swiss army knife to the listeners.
As a conclusion, a short presentation of the debug tools on another OpenSource OS (Zephyr) is done.