To start GDB, in the terminal,
gdb <executable name>
For the above example with a program named main, the command becomes
gdb main
Setting Breakpoints
You'll probably want you program to stop at some point so that you can review the condition of your program. The line at which you want the program to temporarily stop is called the breakpoint.
break <source code line number>
Running your program
To run your program, the command is, as you guessed,
run
Looking at the code
When the program is stopped, you can do a number of important things, but most importantly you need to see which part of the code you've stopped. The command for this purpose is "list". It shows you the neighbouring 10 lines of code.
Next and Step
Just starting and stopping isn't much of a control. GDB also lets you to run the program line-by-line by the commands 'next' and 'step'. There is a little difference between the two, though. Next keeps the control strictly in the current scope whereas step follows the execution through function calls.
Look at this example carefully;
Suppose you have a line in the code like
value=display();
readinput();
If you use the next command, the line (and the function, provided there aren't breakpoints in it) gets executed and the control advances to the next line, readinput(), where you can perhaps examine 'value' to get an idea of how display() worked.
But if you use the step command, you get to follow what display() does directly, and the control advances to the first line of display(), wherever it is.
Posted By :-Cplusplusprogramming