This is the mail archive of the gdb@sourceware.cygnus.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]

Re: More than one stabn for the same PC



  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


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