[lldb-dev] Interactive commands in LLDB

jingham at apple.com jingham at apple.com
Thu Feb 26 10:55:28 PST 2015


> On Feb 26, 2015, at 10:46 AM, Siva Chandra <sivachandra at google.com> wrote:
> 
> Firstly, thanks for taking time to answer and respond to me.
> 
> I would like to present some historical context here wrt the "explore"
> command in GDB. Back when it was added, my use for it was to
> understand GCC's mega structs and unions. There was something like a
> flag typically which kind of specified how to interpret (for example,
> which field of a union is relevant) the rest of struct and union. So,
> it all made sense back then to have an interactive command in single
> session which helped me get to the relevant parts of a struct/union
> value. IMO, such a use case is still relevant. However, I will go with
> what your final take on this.


Note, in lldb you could do the same job you are describing here quite handily by writing a synthetic child provider.  Since the Python data formatters can do logic, it would be straight-forward to write one that checks field A, and based on that decides which other fields to print.  The advantage of this is that then any expression that resolves to a variable of that type will be printed appropriately without requiring any special action on the user's part.

Jim

> 
> On Thu, Feb 26, 2015 at 9:32 AM,  <jingham at apple.com> wrote:
>> I still don't see what value you get joining the code to do "Give me
>> one answer with a default value" with the much more complex
>> "enter an interactive session that may have many questions (and
>> you might want to alter the prompt to show where you are in the
>> session currently, etc."  I have no objection to adding the latter if
>> there's a good use for it.  But given that the IOHandlerConfirm is
>> around 10 lines of code, I see no benefit in complicating it with the
>> code to implement the more complex session.
> 
> I will go with this suggestion iff we do decide to add "explore" to LLDB.





More information about the lldb-dev mailing list