This is the mail archive of the
gdb-patches@sourceware.org
mailing list for the GDB project.
Re: RFA: Fix per-thread watchpoint documentation
- From: Jim Blandy <jimb at codesourcery dot com>
- To: Eli Zaretskii <eliz at gnu dot org>
- Cc: gdb-patches at sourceware dot org
- Date: Tue, 18 Dec 2007 10:09:11 -0800
- Subject: Re: RFA: Fix per-thread watchpoint documentation
- References: <m3wsrdclri.fsf@codesourcery.com> <ud4t5jc0i.fsf@gnu.org>
Eli Zaretskii <eliz at gnu.org> writes:
>> From: Jim Blandy <jimb@codesourcery.com>
>> Date: Mon, 17 Dec 2007 08:46:09 -0800
>>
>>
>> The GDB documentation doesn't build at the moment, because the
>> per-thread watchpoint documentation introduces an @item outside any
>> @table.
>>
>> One could fix this by simply wrapping a @table around the new @item,
>> but it doesn't seem to me that that description is in the right place
>> within its node.
>>
>> So, does this look okay?
>
> Yes, but you also changed other places which you didn't announce. Not
> that I object to them, though...
My ChangeLog entry was not up to par; thanks. I've committed the
following:
gdb/doc/ChangeLog:
2007-12-18 Jim Blandy <jimb@codesourcery.com>
* doc/gdb.texinfo (Set Watchpoints): Integrate per-thread
watchpoint explanation into the main description of the watchpoint
command; update synopses of 'watch', 'rwatch', and 'awatch'
commands.
diff -r 45aa3691eac1 gdb/doc/gdb.texinfo
--- a/gdb/doc/gdb.texinfo Tue Dec 18 09:26:19 2007 -0800
+++ b/gdb/doc/gdb.texinfo Tue Dec 18 10:06:04 2007 -0800
@@ -3222,7 +3222,7 @@ watchpoints, which do not slow down the
@table @code
@kindex watch
-@item watch @var{expr}
+@item watch @var{expr} @r{[}thread @var{threadnum}@r{]}
Set a watchpoint for an expression. @value{GDBN} will break when the
expression @var{expr} is written into by the program and its value
changes. The simplest (and the most popular) use of this command is
@@ -3232,13 +3232,20 @@ to watch the value of a single variable:
(@value{GDBP}) watch foo
@end smallexample
+If the command includes a @code{@r{[}thread @var{threadnum}@r{]}}
+clause, @value{GDBN} breaks only when the thread identified by
+@var{threadnum} changes the value of @var{expr}. If any other threads
+change the value of @var{expr}, @value{GDBN} will not break. Note
+that watchpoints restricted to a single thread in this way only work
+with Hardware Watchpoints.
+
@kindex rwatch
-@item rwatch @var{expr}
+@item rwatch @var{expr} @r{[}thread @var{threadnum}@r{]}
Set a watchpoint that will break when the value of @var{expr} is read
by the program.
@kindex awatch
-@item awatch @var{expr}
+@item awatch @var{expr} @r{[}thread @var{threadnum}@r{]}
Set a watchpoint that will break when @var{expr} is either read from
or written into by the program.
@@ -3356,13 +3363,6 @@ way of doing that would be to set a code
@cindex threads and watchpoints
In multi-threaded programs, watchpoints will detect changes to the
watched expression from every thread.
-
-@kindex watch thread thread_num
-@item watch @var{expr} thread @var{threadnum}
-Set a watchpoint that will break when @var{expr} is either read from
-or written into by the thread identified by @var{threadnum}. If @var{expr}
-is modified by any other threads not matching @var{threadnum}, @value{GDBN}
-will not break. Note that this will only work with Hardware Watchpoints.
@quotation
@emph{Warning:} In multi-threaded programs, software watchpoints