This is the mail archive of the
gdb@sources.redhat.com
mailing list for the GDB project.
Re: Setting watchpoints
I am watching a character pointer. 'watch *0x8559ff4' does not work
because that is the value of the pointer in the structure. Watching the
char** instead of char* works great though. To get the char** I did a
print &(symbol->name). So, gdb works as expected and I make mistakes --
as expected?? Thanks for the help though.
On Thu, 2003-04-17 at 13:20, Daniel Jacobowitz wrote:
> On Thu, Apr 17, 2003 at 01:09:59PM -0700, Al Niessner wrote:
> >
> > Platform information:
> > OS: Linux
> > Kernel: 2.4.19
> > gcc/g++: 3.2.2
> > gdb: 5.3
> > threads: 1 -- single threaded application
> >
> >
> > How do I set a watch point so that the debugger halts when memory at a
> > specific address is changed? There is no easy to define variable that I
> > can latch onto, but I do know its address. When I set a watch point to
> > this address -- 'watch 0x8559ff4' or 'watch *0x8559ff4' -- gdb just
> > sails by this memory being changed. If I set a conditional break point
> > just prior to the segmentation fault I can see the change and so can gdb
> > it just does not sense it with the watch. So, what am I doing wrong and
> > how do I get gdb to monitor a memory location and halt when it changes?
> > I have already searched the web (google) and did not find any solutions
> > there.
>
> Does "watch *(int *) 0x8559ff4" work? How big is the area you're
> watching?
--
Al Niessner <Al dot Niessner at jpl dot nasa dot gov>
Jet Propulsion Laboratory
All opinions stated above are mine and do not necessarily reflect those of JPL or NASA.
----
| dS | >= 0
----