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: Checking if addess is on stack?


On Thursday 20 April 2006 14:22, Eli Zaretskii wrote:
> > From:  Vladimir Prus <ghost@cs.msu.su>
> > Date:  Thu, 20 Apr 2006 12:49:53 +0400
> >
> > in order to improve watchpoints handling in KDevelop, I need to figure
> > out if a given address is part of current frame's stack. Is there any
> > command to produce that information? I guess I can look at frame base
> > address and check if my address is "close" to that, but it's a bit
> > unreliable.
> >
> > For reference, the watchpoint changes for KDevelop are outlined at:
> >
> >   http://lists.kde.org/?l=kdevelop-devel&m=114552206721831&w=2
>
> I think one way to solve the problems you describe in that URL is to
> set a temporary breakpoint whose commands set the watchpoint:
>
>    tb do_that
>    commands
>
>    > watch ptr->i
>    > continue
>    > end
>
> (and similarly for block-local variables: put a breakpoint on the
> block's first line).  If you want to keep the watchpoints between
> sessions, record the temporary breakpoints and reinsert them when the
> session starts.
>
> Would this do what you want?

I'm not sure that's exactly what I need. This way, watchpoint will be 
automatically inserted when I enter 'do_that', but as soon as I leave 
'do_that', gdb will remove wathchpoint because 'ptr' has gone out of scope. 
This will prevent me from catching accesses to ptr->i made outside of the 
function where 'ptr' is valid. Am I missing something?

Thanks,
Volodya



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