Mirror of the gdb mailing list
 help / color / mirror / Atom feed
* watchpoints and threads
@ 2006-04-27 12:04 PAUL GILLIAM
  2006-04-27 18:00 ` Daniel Jacobowitz
  0 siblings, 1 reply; 3+ messages in thread
From: PAUL GILLIAM @ 2006-04-27 12:04 UTC (permalink / raw)
  To: gdb

The manual states:

     _Warning:_ In multi-thread programs, watchpoints have only limited
     usefulness.  With the current watchpoint implementation, GDB can
     only watch the value of an expression _in a single thread_.  If
     you are confident that the expression can only change due to the
     current thread's activity (and if you are also confident that no
     other thread can become current), then you can use watchpoints as
     usual.  However, GDB may not notice when a non-current thread's
     activity changes the expression.

Yet the test testsuite/gdb.threads/watchthreads.exp contains the
following:

        # Verify that we hit first watchpoint in child thread.
        set message "watchpoint on args\[0\] hit in thread"
        if { $args_1 > 1 } {
          pass $message
        } else {
          fail $message
        }
        
This seems like a conflict.

What brought this up is a user who wants this scenario to work:

        * The target program has a global variable.
        * GDB is started and a 'watch' command is give for that
        variable.
        * Some number of threads are started.
        * If _any_ thread changes the value of the global variable,
        _all_ threads stop.
        
The manual seems to say that this scenario will not work, but the
testcase seems to say that it will.

What's the story?

-=# Paul #=-


^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2006-05-21 13:25 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2006-04-27 12:04 watchpoints and threads PAUL GILLIAM
2006-04-27 18:00 ` Daniel Jacobowitz
2006-05-22 15:39   ` Wu Zhou

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox