Re: New mi commands for threads

Denis PILAT
2007-03-16T08:40:38Z

Nick Roberts wrote:
> I think it's best to keep the patches separate unless the code changes
> overlap.
Ok I'll do that.
>
>
> I would put number-of-threads="6",current-thread-id="1" at the start so that
> they don't get lost behind the thread list (I know the output is only intended
> for the front end but it might make debugging of GDB easier and costs nothing).
>
> Lists use square brackets, information on each thread should be enclosed in
> curly brackets:
>
> threads=[{thread-id="6",frame={...},thread-extra-info="bla"},{thread-id="5",frame={...},thread-extra-info="bla"},...]
>
> I guess your output has been manually generated as thread-id="1" seems to
> duplicate some information.
This output is a side effect of the frame printing, the actual
-thread-select command has the same. I'm going to have a look at how we
can avoid it, but I think it will impact *-thread-select* as well.

About brackets, I see how they were used in *-thread-list-ids*,
according to your comment, this one should use square brackets as well,
am I right ?

About position of "number-of-threads" and "current-thread-id", I prefer
them in front as well, but that would be not consistent with
-thread-list-ids. But do we care about consistency with this one that
seems to be not consistent with the MI list format ?
>
> I thought that the frame information was expensive to get and that it was
> agreed you could get it, if needed, using other MI commands anyway.
Yes it is, but I want to get rid of CLI commands and for front ends that
want to get all informations, they could use this command if they need
extra information. But I can add an option to include or not these
information.
For remote (or on board) debugging, our front ends will emit
*-thread-list-ids* to get only the list, and then *-thread-info* to
focus only on the current thread.

But for "native and efficient" debugging, I guess a call to
*-thread-list-all-threads* will do the job.
That will give us:
-thread-list-ids : gives list of thread ids + number of
threads
-thread-list-all-threads : gives the above + stack frame
information per thread + current thread
-thread-list-all-threads --extra : gives the above + extra information
per thread.

Thanks a lot for your feedback Nick,
--
Denis Pilat