Essential GDB and Linux System Tools is a one-day online training course with programming examples, taught by Mike Shah. It is offered at the Gaylord Rockies from 09:00 to 17:00 Aurora time (MDT) on Sunday, September 13th, 2026 (immediately prior to the conference). Lunch is included.
◈ Register Here ◈ See Other Offerings ◈
Course Description
Developers spend more of their time debugging code, than actually writing code. So why do we not spend as much time learning debugging tools and associated utilities to help get us out of trouble? Part of the answer is that debugging is often not taught as a subject — but this workshop is here to fix that!
In this workshop you will learn how to use a debugger (GDB) and associated tools (valgrind, sanitizers, code coverage tools, objdump, dwarfdump, etc.) to help debug and understand what your software is doing. In the age of AI generated code, legacy code, and massive code bases, understanding how to use tools is of critical importance.
In this workshop we’ll do interactive exercises to help ramp you up, and get you ready to tackle any project with tools in hand to help you understand how to write correct code, read code, and develop software with confidence.
Prerequisites
Attendees should have basic C++ programming experience.
Course Topics
Part 1 – Introduction to Debugging
Part 2 – Debugging Essentials with GDB — The Bare Minimum
Part 3 – GDB Essentials Exercises
Part 4 – Stack, Heap, and catching memory leaks
Part 5 – Debug Information and Binary Inspection
Part 6 – More GDB Debugging Essentials
Part 7 – GDB For Understanding of Large CodeBases
Part 8 – Multiprocess and Time Travel
Part 9 – Challenge Exercise (Take Home or together if time)
Part 10 – Closing
Course Instructor
Mike Shah is currently teaching faculty at Yale University in the Computer Sciences department. My primary teaching interests are in computer systems, computer graphics, and software engineering. My research interests are related to performance engineering (dynamic analysis), software visualization, and computer graphics.
Along with teaching and research work, I have juggled occasional consulting work as a 3D Senior Graphics Engineer in C++.