Using the GDB Debugger
The gdb debugger is available for use with programs compiled with the g++ compiler. It is used to locate run-time errors. The C++ program must be compiled with the -g flag in order to use the debugger.
A brief overview of gdb debugger commands:
unix level commands -- entered after the bgunix $ prompt:
man gdb | to get help on gdb at the unix command level |
g++ -g filename.cpp | to compile & link with the debug option |
gdb a.out | to execute the debugger with a.out |
Basic gdb commands -- entered after the (gdb) prompt:
help | to display a list of gdb commands |
help command | to get help on a specified gdb command |
run | to run/execute the program starting from the beginning |
continue | to resume running/executing the program |
next | to execute the current statement and stop at the next statement |
step | same as next, but step into a function |
list xx | list source lines starting at line xx |
list | to list the next source lines |
list xx,yy | to list sources lines from line xx to line yy |
list filename:xx | to list source lines in the specified file starting at line xx |
quit | to quit gdb and revert to the unix command level |
break functionname | to set a breakpoint at the start of a function |
break classname::functionname | to set a breakpoint at the start of a member function |
break filename:xx | to set a breakpoint at line xx in the specified file |
break xx | to set a breakpoint at line xx in the current file |
break 1 | to set a breakpoint at the first line in the current file (declaration or executable statement) |
info break | to list all breakpoints (including those disabled); breakpoints are numbered #1, #2, #3, etc. |
disable xx | to disable breakpoint #xx |
enable xx | to enable breakpoint #xx |
print v1 | to print the value of a specified variable |
info source | to show the name of the current source file |
info sources | to list the name of all source files in use |
set variable = value | to assign a new value to a specified variable |
(return) | to re-execute the previous gdb command; this is particularly useful if the previous gdb command was next or step |
You can also execute most gdb commands by entering only the first letter of the command.
The complete gdb user manual is available online at http://sources.redhat.com/gdb/onlinedocs/gdb_toc.html
See also: Finding a run-time error with gdb
Updated: 06/21/2018 01:07PM