Essential GDB and Linux System Tools 2026

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 HereSee 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 ShahMike 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++.

 

Register HereSee Other Offerings