This is the mail archive of the
gdb@sourceware.cygnus.com
mailing list for the GDB project.
Re: More than one stabn for the same PC
- To: Mark Mitchell <mark at codesourcery dot com>
- Subject: Re: More than one stabn for the same PC
- From: Jeffrey A Law <law at cygnus dot com>
- Date: Tue, 30 Nov 1999 00:26:52 -0700
- cc: gdb at sourceware dot cygnus dot com, gcc at gcc dot gnu dot org
- Reply-To: law at cygnus dot com
In message <19991129232529S.mitchell@codesourcery.com>you write:
> >>>>> "Jeffrey" == Jeffrey A Law <law@cygnus.com> writes:
>
> Jeffrey> In message
> Jeffrey> <19991129223717L.mitchell@codesourcery.com>you write:
> >> >>>>> "Jeffrey" == Jeffrey A Law <law@cygnus.com> writes:
> >>
> Jeffrey> Though I am curious, how does this happen?
> >> We tend to do this with inlining. (We're doing it more with
> >> inlining-on-trees, but we used to do it anyhow.) Consider:
> >>
> >> int i; inline int f () { i = 3; } void g() { f(); }
> >>
> >> In `g' we first emit a line note for the line with the curly
> >> brace for `g', then emit a line note for the line with `i = 3'
> >> in it. I think that's roughly the right thing, but the
> >> debugger gets confused.
>
> Jeffrey> Looking at that I'd claim only one of the line notes
> Jeffrey> should exist (probably the one of the "i = 3" statement.
>
> That's not entirely unreasonable. But, I'd like to be able to say
> `break at <line where call to f is>' and have something sensible
> happen.
Good point. Considering that, both line notes are probably needed.
jeff