This is the mail archive of the gdb-patches@sourceware.org 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]
Other format: [Raw text]

Re: [patch] Use the string returned by pretty printer for MI varobjs instead of "{...}"


I has been quite a while, but I think I was primarily concerned that GDB would abuse value string on varobj
to show what GDB thinks is the right rendering of data. E.g. while "[5]" as top-level value might be a reasonable
rendition for an array with 5 children, it's not entirely clear why GDB's machine interface should take liberties
at telling frontend how to render that. Neither "[", nor 5, nor "]" is integral part of data, and as soon as
GDB outputs that, frontend has no way of knowing whether this is GDB trying to be helpful, or really interesting
data that cannot be obtained in any other way.

I cannot figure out why the frontend need to know it? I think, it should just output what GDB returns, cause GDB knows better how to visualize the concrete data type due to pretty printers mechanism. Otherwise, the frontend should have something similar to pretty printers that will visualize different types in a comfortable way. In any case if the implemented behavior is not desirable the string() method of pretty printer could be left unimplemented (or return None). It will give the behavior you described above, but could also be extended if necessary.



Thanks, Anton


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