New mi commands for threads

Denis PILAT denis.pilat@st.com
Fri Mar 16 08:40:00 GMT 2007


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



More information about the Gdb-patches mailing list