Debugging C Code
1h 1mAdvanced2025-04-21
Authors

Dan Gookin
Creator, Teacher, and Technology Writer with 20+ years of experience
Course details
This course covers the process of finding out why a C program doesn't work. It addresses the issues of warnings and errors—and how to dive deep into the code to discover what's not happening the way a programmer intends. To resolve these issues, and address the bugs, several tools are available to the programmer. First are various techniques to monitor and output variables and checkpoints in the code to see what's going on and how far the program progresses normally. Second are tools such as an IDE debugger and the command line GNU debugger (GDB), which can output variable values and memory "dumps" as a program is running. These techniques and utilities provide the examination necessary to discover what's wrong and correct the code. Check out this course to learn these important parts of a programmer's tool chest.
Learning objectives
Use the GNU debugger to examine a running C program.
Find out how bugs occur in C code and learn simple techniques to detect them.
Use an IDE debugger to examine memory and variables as a program runs.
Scrutinize a program as it runs to resolve otherwise frustrating problems.
Learning objectives
Use the GNU debugger to examine a running C program.
Find out how bugs occur in C code and learn simple techniques to detect them.
Use an IDE debugger to examine memory and variables as a program runs.
Scrutinize a program as it runs to resolve otherwise frustrating problems.
Skills covered
CProgramming FoundationsAdvancedProgramming LanguagesOpen SourceSoftware Development
Concepts
0. Introduction
- 01 - Out bugs
- 02 - Configuration and setup
1. Bugs in Your Code
- 03 - Understanding bugs
- 04 - Catching bugs
- 05 - Debugging your code manually
- 06 - Reviewing ten common coding problems
- 07 - Challenge - Where is the error
- 08 - Solution - Where is the error
2. IDE Debugging
- 09 - Configuring a debug project
- 10 - Stepping through your code
- 11 - Examining variables and memory
- 12 - Challenge - Find the bug
- 13 - Solution - Find the bug
3. The GNU Debugger
- 14 - Compiling code for debugging
- 15 - Setting breakpoints and viewing values
- 16 - Dumping memory
- 17 - Using the GNU debugger in Codespaces
- 18 - Challenge - Fix the code
- 19 - Solution - Fix the code
Conclusion
- 20 - Next steps
Related courses
Related learn paths
- C# Foundations: From Basics to Building Blocks
- Become an Arduino Developer
- Advance your Node.js Skills
- Software Development Fundamentals
- Getting Started as an ASP.NET Developer
- Prepare for the MTA: Software Development Fundamentals Exam (98-361)
- Become a Programmer: Foundations
- Building ChatGPT Skills for Business Professionals