The command `info break' prints a list of all breakpoints set and not cleared, showing their numbers, where in the program they are, and any special features in use for them. Disabled breakpoints are included in the list, but marked as disabled. `info break' with a breakpoint number 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 (*Note Memory::). Setting Breakpoints ------------------- Breakpoints are set with the `break' command (abbreviated `b'). You have several ways to say where the breakpoint should go. `break FUNCTION' Set a breakpoint at entry to function FUNCTION. `break LINENUM' Set a breakpoint at line LINENUM in the current source file. That file is the last file whose source text was printed. This breakpoint will stop the program just before it executes any of the code on that line. `break FILENAME:LINENUM' Set a breakpoint at line LINENUM in source file FILENAME. `break FILENAME:FUNCTION' Set a breakpoint at entry to function FUNCTION found in file FILENAME. Specifying a filename as well as a function name is superfluous except when multiple files contain similarly named functions. `break *ADDRESS' Set a breakpoint at address ADDRESS. You can use this to set breakpoints in parts of the program which do not have debugging information or source files. `break' Set a breakpoint at the next instruction to be executed in the selected stack frame (*Note Stack::). This is a silly thing to do in the innermost stack frame because the program would stop immediately after being started, but it is very useful with another stack frame, because it will cause the program to stop as soon as control returns to that frame. `break ... if COND' Set a breakpoint with condition COND; evaluate the expression COND each time the breakpoint is reached, and stop only if the value is nonzero. `...' stands for one of the possible arguments described above (or no argument) specifying where to break. *Note Conditions::, for more information on breakpoint conditions. `tbreak ARGS' Set a breakpoint enabled only for one stop. ARGS are the same as in the `break' command, and the breakpoint is set in the same way, but the breakpoint is automatically "disabled" the first time it is hit. GDB allows you to set any number of breakpoints at the same place in the program. There is nothing silly or meaningless about this. When the breakpoints are conditional, this is even useful (*Note Conditions::).