It is often necessary to eliminate a breakpoint, watchpoint, or catchpoint once it has done its job and you no longer want your program to stop there. This is called deleting the breakpoint. A breakpoint that has been deleted no longer exists; it is forgotten.
With the clear command you can delete breakpoints according to where they are in your program. With the delete command you can delete individual breakpoints, watchpoints, or catchpoints by specifying their breakpoint numbers.
It is not necessary to delete a breakpoint to proceed past it. GDB automatically ignores breakpoints on the first instruction to be executed when you continue execution without changing the execution address.
clear | Delete any breakpoints at the next instruction to |
| be executed in the selected stack frame (see |
| “Selecting a frame” (page 73)). When the |
| innermost frame is selected, this is a good way |
| to delete a breakpoint where your program just |
| stopped. |
clear function, clear | Delete any breakpoints set at entry to the function |
filename:function | function. |
clear linenum, clear | Delete any breakpoints set at or within the code |
filename:linenum | of the specified line. |
delete [breakpoints] | Delete the breakpoints, watchpoints, or |
[range...] | catchpoints of the breakpoint ranges specified as |
| arguments. If no argument is specified, delete all |
| breakpoints (GDB asks confirmation, unless you |
| have set confirm off). You can abbreviate |
| this command as d. |
Rather than deleting a breakpoint, watchpoint, or catchpoint, you might prefer to disable it. This makes the breakpoint inoperative as if it had been deleted, but remembers the information on the breakpoint so that you can enable it again later.
You disable and enable breakpoints, watchpoints, and catchpoints with the enable and disable commands, optionally specifying one or more breakpoint numbers as arguments. Use info break or info watch to print a list of breakpoints, watchpoints, and catchpoints if you do not know which numbers to use.
A breakpoint, watchpoint, or catchpoint can have any of four different states of enablement:
•Enabled. The breakpoint stops your program. A breakpoint set with the break command starts out in this state.
•Disabled. The breakpoint has no effect on your program.
58 Stopping and Continuing