GDB for Debugging Linux Software

GDB is a nice tool for debugging linux software and find out its flaws. Let me give an easy way how you can use gdb to debug your application. If you see one of your application crashing or not working well, you can use gdb to debug it and send the result to its developers. The only thing you need to make sure is that , your program must be compiled with the debugger flag ‘-g’ , if not there will be no debugger flags in the software. In general all free and opensource software have gdb feature enabled by default.

Let us take and example here to study GDB . The command is “gedit” . It is an editor in gnome.

Step 1 : Go to shell and start the command with gdb

# gdb  gedit

It will show the following in my box,

sherin@:~$ gdb gedit
GNU gdb (GDB) 7.1-ubuntu
Copyright (C) 2010 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.  Type "show copying"
and "show warranty" for details.
This GDB was configured as "i486-linux-gnu".
For bug reporting instructions, please see:
...
Reading symbols from /usr/bin/gedit...(no debugging symbols found)...done.
(gdb)

Step 2 : Run the command from gdb prompt

(gdb) run
Starting program: /usr/bin/gedit

Now gedit will be open and you can type and save a document.

It will show the debugger output in your gdb terminal

Step 3 : To stop execution use the command kill

(gdb) kill

Step 4: To exit from gdb use the command “quit”

These all are basic to know how you work win gdb.

Now if you need to debug an already running program use the flag –pid=PID

# gdb --pid=10345