From 7dcedd45bff3a7d230fc4c0282c4c2fccf274ace Mon Sep 17 00:00:00 2001 From: eliz Date: Sat, 17 Nov 2007 11:56:01 +0000 Subject: [PATCH] * gdb.texinfo (Set Breaks, Disabling): Clarify behavior of breakpoints with multiple locations. (Breakpoint Menus): Improve wording. (Output): Fix last change. --- gdb/doc/ChangeLog | 9 ++++++++- gdb/doc/gdb.texinfo | 39 ++++++++++++++++++++++++--------------- 2 files changed, 32 insertions(+), 16 deletions(-) diff --git a/gdb/doc/ChangeLog b/gdb/doc/ChangeLog index c97cb958ac..89ac3e665f 100644 --- a/gdb/doc/ChangeLog +++ b/gdb/doc/ChangeLog @@ -1,3 +1,10 @@ +2007-11-17 Eli Zaretskii + + * gdb.texinfo (Set Breaks, Disabling): Clarify behavior of + breakpoints with multiple locations. + (Breakpoint Menus): Improve wording. + (Output): Fix last change. + 2007-11-17 Ulrich Weigand * Makefile.in (Makefile): Do not depend on target_makefile_frag. @@ -18,7 +25,7 @@ 2007-11-05 Luis Machado - * gdb.texinfo: Update printf command's description. + * gdb.texinfo (Output): Update printf command's description. 2007-10-30 Daniel Jacobowitz diff --git a/gdb/doc/gdb.texinfo b/gdb/doc/gdb.texinfo index 55b02c368e..40b04d2dd9 100644 --- a/gdb/doc/gdb.texinfo +++ b/gdb/doc/gdb.texinfo @@ -2992,7 +2992,7 @@ Whether the breakpoint is marked to be disabled or deleted when hit. @item Enabled or Disabled Enabled breakpoints are marked with @samp{y}. @samp{n} marks breakpoints that are not enabled. An optional @samp{(p)} suffix marks pending -breakpoints --- breakpoints for which address is either not yet +breakpoints---breakpoints for which address is either not yet resolved, pending load of a shared library, or for which address was in a shared library that was since unloaded. Such breakpoint won't fire until a shared library that has the symbol or line referred by @@ -3001,7 +3001,7 @@ breakpoint is loaded. See below for details. Where the breakpoint is in your program, as a memory address. For a pending breakpoint whose address is not yet known, this field will contain @samp{}. A breakpoint with several locations will -have @samp{} in this field --- see below for details. +have @samp{} in this field---see below for details. @item What Where the breakpoint is in the source for your program, as a file and line number. For a pending breakpoint, the original string passed to @@ -3060,16 +3060,16 @@ several places where that function is inlined. In all those cases, @value{GDBN} will insert a breakpoint at all the relevant locations. -A breakpoint with multiple locations is displayed in the -breakpoint table using several rows --- one header row, followed -by one row for each breakpoint location. The header row -has @samp{} in the address column. The rows for -individual locations contain the actual addresses for locations, -and say what functions those locations are in. The number -column for a location has number in the format +A breakpoint with multiple locations is displayed in the breakpoint +table using several rows---one header row, followed by one row for +each breakpoint location. The header row has @samp{} in the +address column. The rows for individual locations contain the actual +addresses for locations, and show the functions to which those +locations belong. The number column for a location is of the form @var{breakpoint-number}.@var{location-number}. For example: + @smallexample Num Type Disp Enb Address What 1 breakpoint keep y @@ -3081,11 +3081,17 @@ Num Type Disp Enb Address What Each location can be individually enabled or disabled by passing @var{breakpoint-number}.@var{location-number} as argument to the -@code{enable} and @code{disable} commands. +@code{enable} and @code{disable} commands. Note that you cannot +delete the individual locations from the list, you can only delete the +entire list of locations that be long to their parent breakpoint (with +the @kbd{delete @var{num}} command, where @var{num} is the number of +the parent breakpoint, 1 in the above example). Disabling or enabling +the parent breakpoint (@pxref{Disabling}) affects all of the locations +that belong to that breakpoint. @cindex pending breakpoints It's quite common to have a breakpoint inside a shared library. -The shared library may be loaded and unloaded explicitly, +Shared libraries can be loaded and unloaded explicitly, and possibly repeatedly, as the program is executed. To support this use case, @value{GDBN} updates breakpoint locations whenever any shared library is loaded or unloaded. Typically, you would @@ -3093,7 +3099,7 @@ set a breakpoint in a shared library at the beginning of your debugging session, when the library is not loaded, and when the symbols from the library are not available. When you try to set breakpoint, @value{GDBN} will ask you if you want to set -a so called @dfn{pending breakpoint} --- breakpoint whose address +a so called @dfn{pending breakpoint}---breakpoint whose address is not yet resolved. After the program is run, whenever a new shared library is loaded, @@ -3544,6 +3550,9 @@ or more breakpoint numbers as arguments. Use @code{info break} or @code{info watch} to print a list of breakpoints, watchpoints, and catchpoints if you do not know which numbers to use. +Disabling and enabling a breakpoint that has multiple locations +affects all of its locations. + A breakpoint, watchpoint, or catchpoint can have any of four different states of enablement: @@ -3808,8 +3817,8 @@ single function name to be defined several times, for application in different contexts. This is called @dfn{overloading}. When a function name is overloaded, @samp{break @var{function}} is not enough to tell @value{GDBN} where you want -a breakpoint. If you realize this is a problem, you can use -something like @samp{break @var{function}(@var{types})} to specify which +a breakpoint. You can use explicit signature of the function, as in +@samp{break @var{function}(@var{types})}, to specify which particular version of the function you want. Otherwise, @value{GDBN} offers you a menu of numbered choices for different possible breakpoints, and waits for your selection with the prompt @samp{>}. The first two @@ -16621,7 +16630,7 @@ letters: If the underlying @code{C} implementation used to build @value{GDBN} has support for the three conversion letters for DFP types, other modifiers -such as width and precision will also be available for @value{GDB} to use. +such as width and precision will also be available for @value{GDBN} to use. In case there is no such @code{C} support, no additional modifiers will be available and the value will be printed in the standard way. -- 2.11.0