from gdb.texinfo on 11 July 1994 -->
Go to the previous, next section.
Breakpoints are set with the break
command (abbreviated
b
). The debugger convenience variable `$bpnum' records the
number of the beakpoint you've set most recently; see section Convenience variables, for a discussion of what you can do with
convenience variables.
You have several ways to say where the breakpoint should go.
break function
break +offset
break -offset
break linenum
break filename:linenum
break filename:function
break *address
break
break
sets a breakpoint at
the next instruction to be executed in the selected stack frame
(see section Examining the Stack). In any selected frame but the
innermost, this makes your program stop as soon as control
returns to that frame. This is similar to the effect of a
finish
command in the frame inside the selected frame--except
that finish
does not leave an active breakpoint. If you use
break
without an argument in the innermost frame, GDB stops
the next time it reaches the current location; this may be useful
inside loops.
GDB normally ignores breakpoints when it resumes execution, until at least one instruction has been executed. If it did not do this, you would be unable to proceed past a breakpoint without first disabling the breakpoint. This rule applies whether or not the breakpoint already existed when your program stopped.
break ... if cond
tbreak args
break
command, and the breakpoint is set in the same
way, but the breakpoint is automatically disabled after the first time your
program stops there. See section Disabling breakpoints.
rbreak regex
break
command. You can
delete them, disable them, or make them conditional the same way as any
other breakpoint.
When debugging C++ programs, rbreak
is useful for setting
breakpoints on overloaded functions that are not members of any special
classes.
info breakpoints [n]
info break [n]
info watchpoints [n]
If a breakpoint is conditional, info break
shows the condition on
the line following the affected breakpoint; breakpoint commands, if any,
are listed after that.
info break
with a breakpoint
number n as argument lists only that breakpoint. The
convenience variable $_
and the default examining-address for
the x
command are set to the address of the last breakpoint
listed (see section Examining memory).
GDB allows you to set any number of breakpoints at the same place in your program. There is nothing silly or meaningless about this. When the breakpoints are conditional, this is even useful (see section Break conditions).
GDB itself sometimes sets breakpoints in your program for special
purposes, such as proper handling of longjmp
(in C programs).
These internal breakpoints are assigned negative numbers, starting with
-1
; `info breakpoints' does not display them.
You can see these breakpoints with the GDB maintenance command `maint info breakpoints'.
maint info breakpoints
breakpoint
watchpoint
longjmp
longjmp
calls.
longjmp resume
longjmp
.
until
until
command.
finish
finish
command.
Go to the previous, next section.