This is the mail archive of the gdb@sourceware.org mailing list for the GDB project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: How do I set a hard watchpoint with gdbserver?


Garrod, David wrote:
I'm using a configuration of gdb and gdbserver. Both the host (gdb) and the target (gdbserver) are running on Linux on Intel 486 or 586 sytstems.

I would like to be able to issue the command:

watch *(int*)addr

and have it set a "hard" watchpoint on the target. What seems to happening is that a soft watchpoint is being set since when I continue everything seems to hang until I ^C and remove the watchpoint.

How do I persuade gdbserver to set a hard watchpoint rather than a soft watchpoint? Breakpoints work fine in that they get set hard.

Thanks,

Dave Garrod


When you give the "watch" command, does gdb respond by saying that it has set a "hardware watchpoint", or just a "watchpoint"?

If it doesn't say "hardware watchpoint", then probably hardware
watchpoints are disabled.  You enable them like this:

(gdb) set can-use-hw-watchpoints 1

If that doesn't solve your problem, then do this --

(gdb) set debug remote 1

right before you say "continue".  You should see a number of
messages, one of which should look like "Z2," followed by the
address that you're trying to watch.

If you don't see that, then gdb is still not trying to send
a hardware watchpoint to gdbserver.  At that point, we would
need to ask what version of gdb, what version of gdbserver, etc.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]