Next: Other Glide Features, Previous: Building a New Program with Glide, Up: Introduction to Glide and GVD
This section describes how to set breakpoints, examine/modify variables, and step through execution.
In order to enable debugging, you need to pass the -g switch
to both the compiler and to gnatlink. If you are using
the command line, passing -g to gnatmake will have
this effect. You can then launch GVD, e.g. on the hello
program,
by issuing the command:
$ gvd hello
If you are using Glide, then -g is passed to the relevant tools
by default when you do a build. Start the debugger by selecting the
Ada
menu item, and then Debug
.
GVD comes up in a multi-part window. One pane shows the names of files comprising your executable; another pane shows the source code of the current unit (initially your main subprogram), another pane shows the debugger output and user interactions, and the fourth pane (the data canvas at the top of the window) displays data objects that you have selected.
To the left of the source file pane, you will notice green dots adjacent
to some lines. These are lines for which object code exists and where
breakpoints can thus be set. You set/reset a breakpoint by clicking
the green dot. When a breakpoint is set, the dot is replaced by an X
in a red circle. Clicking the circle toggles the breakpoint off,
and the red circle is replaced by the green dot.
For this example, set a breakpoint at the statement where Put_Line
is invoked.
Start program execution by selecting the Run
button on the top menu bar.
(The Start
button will also start your program, but it will
cause program execution to break at the entry to your main subprogram.)
Evidence of reaching the breakpoint will appear: the source file line will be
highlighted, and the debugger interactions pane will display
a relevant message.
You can examine the values of variables in several ways. Move the mouse
over an occurrence of Ind
in the for
loop, and you will see
the value (now 1
) displayed. Alternatively, right-click on Ind
and select Display Ind
; a box showing the variable's name and value
will appear in the data canvas.
Although a loop index is a constant with respect to Ada semantics,
you can change its value in the debugger. Right-click in the box
for Ind
, and select the Set Value of Ind
item.
Enter 2
as the new value, and press OK.
The box for Ind
shows the update.
Press the Step
button on the top menu bar; this will step through
one line of program text (the invocation of Put_Line
), and you can
observe the effect of having modified Ind
since the value displayed
is 2
.
Remove the breakpoint, and resume execution by selecting the Cont
button. You will see the remaining output lines displayed in the debugger
interaction window, along with a message confirming normal program
termination.