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: law at cygnus dot com
- Subject: Re: More than one stabn for the same PC
- From: Mark Mitchell <mark at codesourcery dot com>
- Date: Mon, 29 Nov 1999 23:25:29 -0800
- Cc: gdb at sourceware dot cygnus dot com, gcc at gcc dot gnu dot org
- Organization: CodeSourcery, LLC
- References: <19991129223717L.mitchell@codesourcery.com><28295.943945638@upchuck>
>>>>> "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.
--
Mark Mitchell mark@codesourcery.com
CodeSourcery, LLC http://www.codesourcery.com