Re: gdb requires watchpoints to fire after the write

Joel Brobecker <[email protected]>
Newsgroups gmane.comp.gdb.devel
Message-ID <[email protected]>
> I don't have experience with many different architectures, but as far as I
> know, the expectation of the GDB is that the watchpoint is reported after
> the write.  Otherwise it wouldn't need to save the value of the watched
> expression.  That's also how software watchpoints seem to work.
> 
> The easiest way to deal with this would be to match GDB's expectation.  But
> if you really prefer the behavior of reporting the watchpoint before the
> event, I suppose it's always possible to teach GDB about this, but it's a
> less trivial task.  Especially that when you GDB evaluates whether the watch
> expression has changed value, it would need to consider the not-yet-written
> value in memory.
> 
> I'm also curious to know if other architectures work in this way (report the
> event before the write actually take place).

I seem to remember some architectures having different behaviors,
and so we have a couple of entry points in GDB. For architecture-specific
settings, we have gdbarch_have_nonsteppable_watchpoint. For target-specific
settings, you would use target_have_steppable_watchpoint. (IIRC)

-- 
Joel
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.