This article describes how to run gdb with a simple program example. gdb expands to GNU Project Debugger. It is a very powerful tool to debug programs and to investigate Core dumps generated by different programs. The Article tries to setup a reader to start experimenting with gdb via a sample program.
compile the program with the below command
Run the GDB tool on the output file generated. Noteworthy in the above command is to check the compiler options that are passed to “gcc” to compile the program
- The -g flag will enable a core to be created. The option informs the compiler to retain the source level debugging and symbol information in the executable itself.
- The -O0 flag indicates to the compiler to turn off all compiler optimizations
The gdb command and the load of the gdb_test symbols by the gdb tool is provided below.
A simple way to place a break-point in the program is to run the below gdb command.
A break-point is placed at start of the main program. We expect the break-point to be hit and program execution to stop at the first line of the main function when the program is executed. With the break-point in place – run the program
it is seen from the above execution that the break-point is hit at line 6 which is the starting C instruction in the sample program. To Single step the program – run the below command
if you desire the program to continue execution – type the “continue” command
The main program completes and exits. The above message “[Inferior 1 (process 3329) exited with code 01] only indicates that the main function invoked exit(1) at the end.
To quit gdb – run the “quit” command
In the next article – we will understand how to look at variables and data from the program and also look at debugging an actual error.