38 Chapter 7. Stopping and ContinuingDispositionWhether the breakpoint is marked to be disabled or deleted when hit.Enabled or DisabledEnabled breakpoints are marked with y. n marks breakpoints that are not enabled.AddressWhere the breakpoint is in your program, as a memory address.WhatWhere the breakpoint is in the source for your program, as a file and line number.If a breakpoint is conditional, info break shows the condition on the line following the affectedbreakpoint; breakpoint commands, if any, are listed after that.info break with a breakpoint number n as argument lists only that breakpoint. The conve-nience variable $_ and the default examining-address for the x command are set to the addressof the last breakpoint listed (refer to Section 10.5 Examining memory).info break displays a count of the number of times the breakpoint has been hit. This is es-pecially useful in conjunction with the ignore command. You can ignore a large number ofbreakpoint hits, look at the breakpoint info to see how many times the breakpoint was hit, andthen run again, ignoring one less than that number. This will get you quickly to the last hit of thatbreakpoint.gdb allows you to set any number of breakpoints at the same place in your program. There is nothingsilly or meaningless about this. When the breakpoints are conditional, this is even useful (refer toSection 7.1.6 Break conditions).gdb itself sometimes sets breakpoints in your program for special purposes, such as proper handling oflongjmp (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 maintenancecommand maint info breakpoints (refer to Appendix C Maintenance Commands).7.1.2. Setting watchpointsYou can use a watchpoint to stop execution whenever the value of an expression changes, withouthaving to predict a particular place where this may happen.Depending on your system, watchpoints may be implemented in software or hardware. gdb doessoftware watchpointing by single-stepping your program and testing the variable’s value each time,which is hundreds of times slower than normal execution. (But this may still be worth it, to catcherrors where you have no clue what part of your program is the culprit.)On some systems, such as HP-UX, gnu/Linux and some other x86-based targets, gdb includes supportfor hardware watchpoints, which do not slow down the running of your program.watch exprSet a watchpoint for an expression. gdb will break when expr is written into by the program andits value changes.rwatch exprSet a watchpoint that will break when watch expr is read by the program.