Breakpoints will cause a running program to stop when the execution reaches the line where the
breakpoint was set. At that moment, control is returned to the IDE, and it is possible to continue
execution.
To set a breakpoint on the current source line, use the ”Debug—Breakpoint” menu entry, or
press Ctrl-F8.
A list of current breakpoints can be obtained through the ”Debug—Breakpoint list” menu.
The breakpoint list window is shown in figure (6.11).
In the breakpoint list window, the following things can be done:
-
New
- Shows the breakpoint property dialog where the properties for a new breakpoint can
be entered.
-
Edit
- Shows the breakpoint property dialog where the properties of the highlighted
breakpoint can be changed.
-
Delete
- Deletes the highlighted breakpoint.
The dialog can be closed with the ’Close’ button. The breakpoint properties dialog is shown in
figure (6.12)
The following properties can be set:
-
Type
- Set the type of the breakpoint. The following types of breakpoints exist:
-
function
- Function breakpoint. The program will stop when the function with the
given name is reached.
-
file-line
- Source line breakpoint. The program will stop when the source file with given
name and line is reached.
-
watch
- Expression breakpoint. An expression may be entered, and the program will
stop as soon as the expression changes.
-
awatch
- (access watch) Expression breakpoint. An expression that references a memory
location may be entered, and the program will stop as soon as the memory
indicated by the expression is accessed.
-
Address
- stop as soon as an address is reached.
-
rwatch
- (read watch) Expression breakpoint. An expression that references a memory
location may be entered, and the program will stop as soon as the memory
indicated by the expression is read.
-
Name
- Name of the function or file where to stop.
-
Conditions
- Here an expression can be entered which must evaluate to True for the program to
stop at the breakpoint. The expressions that can be entered must be valid GDB
expressions.
-
Line
- Line number in the file where to stop. Only for breakpoints of type file-line.
-
Ignore count
- The number of times the breakpoint will be ignored before the program
stops.
Remark:
- Because the IDE uses GDB to do its debugging, it is necessary to enter all expressions
in uppercase.
- Expressions that reference memory locations should be no longer than 16 bytes on
linux or go32v2 on an Intel processor, since the Intel processor’s debug registers are
used to monitor these locations.
- Memory location watches will not function on Win32 unless a special patch is applied.