This is the mail archive of the gdb@sources.redhat.com 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: 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
 ----


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