[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