Debugging with GDB Manual (5900-1473; WDB 6.2; January 2011)

Table Of Contents
break 403
commands
silent
set x = y + 4
cont
end
5.1.7 Breakpoint menus
Some programming languages (notably C++) permit a single function name to be defined
several times, for application in different contexts. This is called overloading. When a
function name is overloaded, 'break function' is not enough to tell GDB where you
want a breakpoint. If you realize this is a problem, you can use something like 'break
function(types)' to specify which particular version of the function you want.
Otherwise, GDB offers you a menu of numbered choices for different possible breakpoints,
and waits for your selection with the prompt '>'. The first two options are always '[0]
cancel' and '[1] all'. Typing 1 sets a breakpoint at each definition of function, and
typing 0 aborts the break command without setting any new breakpoints.
For example, the following session excerpt shows an attempt to set a breakpoint at the
overloaded symbol String::after. We choose three particular definitions of that function
name:
((gdb)) b String::after
[0] cancel
[1] all
[2] file:String.cc; line number:867
[3] file:String.cc; line number:860
[4] file:String.cc; line number:875
[5] file:String.cc; line number:853
[6] file:String.cc; line number:846
[7] file:String.cc; line number:735
> 2 4 6
Breakpoint 1 at 0xb26c: file String.cc, line 867.
Breakpoint 2 at 0xb344: file String.cc, line 875.
Breakpoint 3 at 0xafcc: file String.cc, line 846.
Multiple breakpoints were set.
Use the "delete" command to delete unwanted
breakpoints.
((gdb))
5.1.8 “Cannot insert breakpoints
Under some operating systems, breakpoints cannot be used in a program if any other
process is running that program. In this situation, attempting to run or continue a program
with a breakpoint causes GDB to print an error message:
Cannot insert breakpoints.
The same program may be running in another process.
When this happens, you have three ways to proceed:
58 Stopping and Continuing