[Dwarf-discuss] dwarf information for mutiple statements at thesame line.

Ron Brender ron.brender
Mon Jul 17 20:28:56 GMT 2006


There is a trade-off here. Just like the line table in general (with no 
inlined routines), the HP-UX scheme Cary describes is valid and complete 
even without any .debug_info section. It allows production of a good 
traceback report even without full debugging information. The price, as 
Chris observes, is some redundancy of information.

Chris Quenelle wrote:
> I think the HP scheme described by Cary seems to be a good
> design in terms of density.  But the simple name of a routine has
> proven to be only a fuzzy way to identify a function
> when combined with C++ and templates and overloading. I
> try to stay away from forcing the debugger to resolve
> names to program objects, in favor of using addresses
> and direct pointers where possible.
> 
> It seems like it would be better to have the line number
> table reference an offset within the debug_info section
> as a way to identify which function got inlined.  And
> if we're going to do that, why not point to the
> DW_TAG_inlined_subroutine die instead of the DW_TAG_subroutine die?
> 
> You might not need to record any additional line information
> in the line table, if we allowed a way to efficiently point
> from a row in the line table to a specific inlined_subroutine
> die.
> 
> The source coordinates in the inlined subroutine die apply
> to a much larger number of individual instructions, so
> duplicating the same source coords over and over in the
> line table doesn't seem efficient to me.





More information about the Dwarf-discuss mailing list