Skip to main content
X

Explore your training options in 10 minutes

How to Debug C Using GDB

Paul Larkin - December 29, 2020


When you’re coding in C, you’re bound to run up against issues that bring your program to a dead stop. That’s why it’s crucial to have a well-honed debugging process to ensure that you can isolate and resolve your issues and get on with your work. Once you learn how to use a debugger, your programming becomes more efficient, and you gain confidence that you can handle any problems you encounter. Gnu debugger (GDB) is one of the best ways to debug your C-based applications, and knowing how to debug C using GDB will make you a better programmer.

We’re here to help! Our guide will look at the GDB debugging process and have your issues resolved in two shakes of a lamb’s tail. We look at compiling with a GDB option and how to launch GDB, and we will also go over how to execute your C program within the debugger so that you can step through the application and pinpoint the issue. When you know how to use it properly, GDB will make your coding experience a more pleasant and less frustrating one, so let’s get started and get you on the road to job satisfaction.

A little GDB will help your career lift off toward the stars!

Compile and Launch

To start the debugging process, you must first identify which debugger you plan to use. Once you’ve targeted a debugger, you need to include it in the compile command. Then, you’ll want to run the program within GDB, and to do that, you’ll need to issue a launch command and associate it with the program you’re debugging. For our purposes, we’ll use an example program named “duckfeet.c” (Not for any particular reason; I just enjoy a nice duck foot, all orange and silly looking).

Get offers and scholarships from top coding schools illustration

Find Your Bootcamp Match

  • Career Karma matches you with top tech bootcamps
  • Access exclusive scholarships and prep courses










By continuing you agree to our Terms of Service and Privacy Policy , and you consent to receive offers and opportunities from Career Karma by telephone, text message, and email.

You’ll first issue the compile command for the program and include the -g option to activate debugging and create the “a.out” file, which is the log file to which your debugging information outputs:

$ cc -g duckfoot.c

You’ll then launch the debugger to view the data:

$ GDB a.out

Once you’ve issued these two commands, you’re ready to move on to the application itself. Time to debug!

Create a Breakpoint, and Execute the Program

Okay, your program has outputted to the a.out file, and your debugger can read what has been written. Now, you get to prep and run the program within the debugger. Program prep and running is a key step in debugging; having the ability to walk through your application from a debugging perspective is invaluable in helping you isolate and resolve all sorts of issues. Program execution is a powerful debugging tool. Use it to break through any nagging problems in your code.

You’ll create a breakpoint at the spot in your C program that you think contains your errors. You can use a few different bits of syntax to accomplish this. The command “break line_number” is a standard method:

break 20

Breakpoint 1 at 0x804648f: file duckfoot.c, line 20.

Now, you can execute the program and watch it run until its designated break point:

run

Venus, a software engineer at Rockbot

"Career Karma entered my life when I needed it most and quickly helped me match with a bootcamp. Two months after graduating, I found my dream job that aligned with my values and goals in life!"

Venus, Software Engineer at Rockbot

Starting program: /home/fredduckbuddy/Debugging/c/a.out

And there you have it! You’ll use GDB all of the time when you’re working with C, so the sooner you master it, the faster and more smoothly your projects will run. Solid debugging skills can make or break a programmer, so use our guide to get comfortable with this essential programming tool, and make your programs hum!

About us: Career Karma is a platform designed to help job seekers find, research, and connect with job training programs to advance their careers. Learn about the CK publication.

What's Next?

Paul Larkin

About the author: Paul Larkin has years of experience in the tech industry and writes about cybersecurity and future of work.

Skip to main content