Lab03 Supplement - How To Use Dev C++ Debugger
Lab03 Supplement - How To Use Dev C++ Debugger
Debuggers are programs which allow you to execute your program in a controlled manner, so
that you can look inside your program to find a logic or run-time bug.
Example: When we compile, and then execute the following C program:
#include <stdio.h>
#include <stdlib.h>
int main(void)
{
int x = 5;
double a, b;
printf("Enter the first number (double type): ");
scanf("%lf", &a);
printf("\n a = %f", a);
a = a + x;
printf("\n a = %f", a);
printf("\nEnter the second number (double type): ");
scanf("%f", &b);
printf("%.2f +
%.2f = %.2f\n", a, b, a + b);
printf("x = %d\n", x);
system("PAUSE");
return 0;
}
we get the following output for input values a = 5.5 and b = 7.5:
The output indicates that the program has one or more logic errors. We use the Dev C++
debugger to find the error(s).
The following are the steps to debug a single source C program by the Dev C++ debugger:
Step 1: Configure Linker Options
Make sure you are not using any optimization options (they are not good for debug
mode).
Click "OK".
Dev-C++ will now ask you where to save your project. It is saved with the extension
.dev
Go to Project Project Options Parameters make sure you do not have any
optimization options (like -O2 or -O3; but -O0 is okay because it means no optimization) or
strip option (-s).
Step 4: Create/add source file(s).
You can add empty source files one of two ways:
Go to the "File" menu and select "New Source File" (or just press CTRL+N) OR
Go to the "Project" menu and select "New File".
Note that Dev-C++ will not ask for a filename for any new source file until you attempt
to:
1. Compile
2. Save the project
3. Save the source file
4. Exit Dev-C++
Display the C file added to the project in the editor window by clicking on its file name under
the Project button:
Step 7: Debug
After that, do a full rebuild (Ctrl-F11), then set breakpoint(s) where you want the debugger to
stop (otherwise it will just run the program). To set a breakpoint on a line, just click on the gutter
(the gray band on the left), or press Ctrl-F5.
Now you are ready to launch the debugger, by pressing F8 or clicking the Debug button:
6
The program will start, and then stop at the first breakpoint. You can then step through the code,
entering function calls, by pressing Shift-F7 or the "step into" button, or stepping over the
function calls, by pressing F7 or the "next step" button. You can press Ctrl-F7 or the "continue"
button to continue execution untill the next breakpoint. Click the "Run to cursor" icon to run
your program and pause at the current source code cursor location. At any time, you can add or
remove breakpoints.
When the program stops at a breakpoint and you are stepping through the code, you can display
the values of various variables in your program by placing your mouse over them, or you can
display variables and expressions by pressing F4 or the "add watch" button and typing the
expression.
The variables added by "Add Watch" are initially given undefined values (?) or whatever
garbage value that is in the corresponding memory location:
When we execute the scanf to input the value of the variable a, the value of the variable changes
accordingly:
We detect the logic error in the program when we enter 7.5 as the value of the variable b; the
watch for b does not change to 7.5, and the output for b is 0: