The first time you saw a program stopping at a breakpoint you set felt like magic. All this control you could exercise over your code without having to change or recompile it. Chances are that the thrill you experienced never returned. Breakpoints, perhaps a watch here and there, debugging doesn’t seem so special anymore. This interactive session, will rekindle your love for debugging and make you feel once again like a wizard. You’ll (re-)discover how to effectively use break-, watch- and tracepoints. You’ll set up exception traps and inspect and modify objects at runtime. You’ll explore multiple execution paths by recording and reverting the state with checkpoints. Finally, you’ll investigate the reasons for a segfault by going back in time step by step. All of this using the most popular C/C++ debugger, gdb.
This session contains interactive elements. If you want to participate in activities you should bring a laptop running Linux with the gcc toolchain and gdb installed. Virtualized Linux under Windows WSL is fine. We’ll use the terminal exclusively, don’t forget to warm up your fingers!