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: New mi commands for threads


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


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