Hi - I have a question about variable location lists, but not their encoding, the use they are suitable for. The basic debugging scenario is just reading variable values, for which this is fine, especially when high-quality compilers emit exquisitely detailed data for their optimized code.
But what about writes - as though one could edit the program to insert an assignment, and resume? A whole slew of complications come up: - trying to modify a variable permanently, but the compiler only emitted -some- of its locations - trying to modify a variable (and only one), but the compiler put two variables into the same location at that PC - expressions using that value as input might have already started to be computed, so it may be too late to change it at the PC in question - ... and undoubtedly other complications exist! A debugger cannot currently be told that any particular variable location expression is safe to use as an lvalue, something roughly "exclusive, exhaustive, -O0-equivalent". I believe most debuggers don't even handle the multiple-locations case for writes at all. I don't know why - assume complications are rare? or we have kind of papered over the problem? As a DWARF standard level matter, descriptive rather than prescriptive as it is, what might be the minimum extension required to communicate lvalue-safety to a debugger? A DW_OP_lvalue_safe assertive wrapper around a real expression? - FChE _______________________________________________ Dwarf-Discuss mailing list Dwarf-Discuss@lists.dwarfstd.org http://lists.dwarfstd.org/listinfo.cgi/dwarf-discuss-dwarfstd.org