* Re: Non-stop multi-threaded debugging
@ 2007-11-28 5:18 Pawel Piech
2007-11-29 2:08 ` Nick Roberts
2007-12-04 18:34 ` Jim Blandy
0 siblings, 2 replies; 13+ messages in thread
From: Pawel Piech @ 2007-11-28 5:18 UTC (permalink / raw)
To: gdb
Hello,
I am collaborating with Ericsson on implementing GDB support in Eclipse
and I'm very much looking forward to seeing this functionality
implemented in GDB. With the Eclipse use of the MI protocol in mind I
have a couple of comments and questions on the proposal:
> P1) Non-stop multi-threaded native debugging
<snip>
> - The MI '-exec-interrupt' command shall stop all threads. This
> will always generate an 'EXEC-ASYNC-OUTPUT' record, even if all
> threads were already stopped. (This helps users handle the case
> where the thread stops of its own accord just as the user sends
> it an '-exec-interrupt' command.)
>
> - The MI '-thread-select' command shall stop the thread selected,
> if it is running. The previously selected thread is left in its
> former state, either stopped or running. A '-thread-select'
> command shall always generate an 'EXEC-ASYNC-OUTPUT' record,
> even if the thread was already stopped.
I think using -thread-select to suspend a thread will have negative
consequences to the MI-client. The -thread-select is used to change the
protocol state before requesting data related to that thread. Adding
the side-effect of suspending the thread, will force the client to add
additional logic to avoid suspending threads accidentally as a result of
attempting to read data. I think it would be much safer to use an
explicit -exec-interrupt request (after a -thread-select) to suspend a
thread.
Note that either way GDB will have to handle and return an errors to
requests for data (such as stack or expressions) while a selected thread
is running. If a client sends a -exec-continue, I assume that whatever
thread was selected last will still be selected. So a
-stack-list-frames should result in an error.
> P7) Non-stop multi-threaded multi-process native debugging
<snip>
> - MI shall provide a command to stop all the threads in a given
> process, and a command to resume all stopped threads in a given
> process.
I would like to make a suggestion here. Instead of inventing a new set
of parallel commands and events to deal with process-wide events, it
would be cleaner to simply assign thread IDs to processes and use
existing commands and events to operate on them. A -thread-select on an
ID of a process followed by an -exec-continue would resume an entire
process, while a -thread-select of a thread's ID followed by a continue
would resume only that thread. This could also be applied to all other
commands that need to operate on a process, such as -thread-list-ids,
-break-insert, etc.
While events could also be re-used to report without any changes to the
event format, it would be very helpful for the client if the events
included both the process's and thread's thread ID, as well as whether
all threads stopped as the result of the event:
...
-thread-select 2
^done
-exec-interrupt
*stopped, thread-id="2", process-thread-id="1", all-threads="false", ....
^done
...
-thread-select 1
^done
-exec-continue
^running, thread-id="1", process-thread-id="1", all-threads="true"
...
Cheers,
Pawel
^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: Non-stop multi-threaded debugging
2007-11-28 5:18 Non-stop multi-threaded debugging Pawel Piech
@ 2007-11-29 2:08 ` Nick Roberts
2007-11-29 6:15 ` Pawel Piech
2007-12-04 18:34 ` Jim Blandy
1 sibling, 1 reply; 13+ messages in thread
From: Nick Roberts @ 2007-11-29 2:08 UTC (permalink / raw)
To: Pawel Piech; +Cc: gdb
> ... A -thread-select on an
> ID of a process followed by an -exec-continue would resume an entire
> process, while a -thread-select of a thread's ID followed by a continue
> would resume only that thread. This could also be applied to all other
> commands that need to operate on a process, such as -thread-list-ids,
> -break-insert, etc.
This would change the current behaviour of these commands. If a new command
is undesirable then perhaps optional parameters could be used:
-exec-continue [ -p THREAD-ID/PROCESS-ID ]
-exec-interrupt [ -p THREAD-ID/PROCESS-ID ]
It appears that -break-insert already has such an option for threads.
--
Nick http://www.inet.net.nz/~nickrob
^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: Non-stop multi-threaded debugging
2007-11-29 2:08 ` Nick Roberts
@ 2007-11-29 6:15 ` Pawel Piech
2007-11-29 6:46 ` gdb over RNDIS to PDA Steve DeLaney
2007-11-29 8:36 ` Non-stop multi-threaded debugging Vladimir Prus
0 siblings, 2 replies; 13+ messages in thread
From: Pawel Piech @ 2007-11-29 6:15 UTC (permalink / raw)
To: Nick Roberts; +Cc: gdb
Nick Roberts wrote:
> > ... A -thread-select on an
> > ID of a process followed by an -exec-continue would resume an entire
> > process, while a -thread-select of a thread's ID followed by a continue
> > would resume only that thread. This could also be applied to all other
> > commands that need to operate on a process, such as -thread-list-ids,
> > -break-insert, etc.
>
> This would change the current behaviour of these commands. If a new command
> is undesirable then perhaps optional parameters could be used:
>
> -exec-continue [ -p THREAD-ID/PROCESS-ID ]
> -exec-interrupt [ -p THREAD-ID/PROCESS-ID ]
>
> It appears that -break-insert already has such an option for threads.
>
>
From Eclipse's point of view it actually doesn't make much difference
whether -thread-select or -p option is used to specify the thread.
That said, I would argue that adding the non-stop debugging feature
changes the behavior of the entire system, so it could be expected that
some commands will behave somewhat differently as they relate to this
new feature. Actually, with non-stop debugging feature turned off, and
without attaching to multiple processes, these commands would still
behave exactly as they do now.
In fact, the original post states:
> - Execution commands like '-exec-continue' and '-exec-step' shall
> resume only the selected thread, without affecting the other
> threads in the process.
So it seems that Jim's proposal would already change the existing
behavior of -exec-continue and -exec-step commands.
Also:
> At the user interface level:
>
> - MI shall provide a command to stop all the threads in a given
> process, and a command to resume all stopped threads in a given
> process.
Which to me implies that -exec-continue and -exec-interrupt would act on
a single thread, although this is contradicted by the other statement
about -exec-interrupt.
Lastly, since my post I thought a little about the CLI aspect in my
suggested use of thread IDs. It would probably be a little awkward to
use the "thread <id>" command to switch to a different process, or to
use it with a process-id to initiate process-wide operations. So for
the CLI interface, while I still think it would make sense to use the
same ID name-space for processes and threads, it would help to add a
couple of new commands:
"process <id>" - To select a new active process where the active thread
would be the last active thread in this process. This would be the
equivalent of a -thread-select with the last active thread in that process.
"thread all" - To un-select the current thread in order to perform
operations on all threads in the process. Equivalent of -thread-select
with the ID of the process.
Cheers,
Pawel
^ permalink raw reply [flat|nested] 13+ messages in thread
* gdb over RNDIS to PDA
2007-11-29 6:15 ` Pawel Piech
@ 2007-11-29 6:46 ` Steve DeLaney
2007-11-29 8:36 ` Non-stop multi-threaded debugging Vladimir Prus
1 sibling, 0 replies; 13+ messages in thread
From: Steve DeLaney @ 2007-11-29 6:46 UTC (permalink / raw)
To: gdb
anyone doing anything with gdb over RNDIS?
I'm working on a windows mobile project using cegcc and am trying to get
gdbserver to work
the PDA is sync'd to linux FC6 with RNDIS/USB using SynCE
details posted in cegcc-devel@lists.sourceforge.net
topic "mingw32ce gdb to wm2005 over RNDIS"
thanks!
/steverino2
^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: Non-stop multi-threaded debugging
2007-11-29 6:15 ` Pawel Piech
2007-11-29 6:46 ` gdb over RNDIS to PDA Steve DeLaney
@ 2007-11-29 8:36 ` Vladimir Prus
2007-11-29 16:42 ` Pawel Piech
[not found] ` <474EEB36.1040203@windriver.com>
1 sibling, 2 replies; 13+ messages in thread
From: Vladimir Prus @ 2007-11-29 8:36 UTC (permalink / raw)
To: gdb
Pawel Piech wrote:
> Nick Roberts wrote:
>> > ... A -thread-select on an
>> > ID of a process followed by an -exec-continue would resume an entire
>> > process, while a -thread-select of a thread's ID followed by a
>> > continue
>> > would resume only that thread. This could also be applied to all
>> > other commands that need to operate on a process, such as
>> > -thread-list-ids, -break-insert, etc.
>>
>> This would change the current behaviour of these commands. If a new
>> command is undesirable then perhaps optional parameters could be used:
>>
>> -exec-continue [ -p THREAD-ID/PROCESS-ID ]
>> -exec-interrupt [ -p THREAD-ID/PROCESS-ID ]
>>
>> It appears that -break-insert already has such an option for threads.
>>
>>
> From Eclipse's point of view it actually doesn't make much difference
> whether -thread-select or -p option is used to specify the thread.
>
> That said, I would argue that adding the non-stop debugging feature
> changes the behavior of the entire system, so it could be expected that
> some commands will behave somewhat differently as they relate to this
> new feature. Actually, with non-stop debugging feature turned off, and
> without attaching to multiple processes, these commands would still
> behave exactly as they do now.
Given the choice between:
1. Changing the behaviour of the existing command, and adding new one
that behaves like existing one, and
2. Adding new command
I think adding new command (or option to existing command), is a smaller change.
So yes, -exec-continue -t <xxx> might be a better choice.
- Volodya
^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: Non-stop multi-threaded debugging
2007-11-29 8:36 ` Non-stop multi-threaded debugging Vladimir Prus
@ 2007-11-29 16:42 ` Pawel Piech
[not found] ` <474EEB36.1040203@windriver.com>
1 sibling, 0 replies; 13+ messages in thread
From: Pawel Piech @ 2007-11-29 16:42 UTC (permalink / raw)
To: gdb
Vladimir Prus wrote:
> Pawel Piech wrote:
>
>
>> Nick Roberts wrote:
>>
>>> > ... A -thread-select on an
>>> > ID of a process followed by an -exec-continue would resume an entire
>>> > process, while a -thread-select of a thread's ID followed by a
>>> > continue
>>> > would resume only that thread. This could also be applied to all
>>> > other commands that need to operate on a process, such as
>>> > -thread-list-ids, -break-insert, etc.
>>>
>>> This would change the current behaviour of these commands. If a new
>>> command is undesirable then perhaps optional parameters could be used:
>>>
>>> -exec-continue [ -p THREAD-ID/PROCESS-ID ]
>>> -exec-interrupt [ -p THREAD-ID/PROCESS-ID ]
>>>
>>> It appears that -break-insert already has such an option for threads.
>>>
>>>
>>>
>> From Eclipse's point of view it actually doesn't make much difference
>> whether -thread-select or -p option is used to specify the thread.
>>
>> That said, I would argue that adding the non-stop debugging feature
>> changes the behavior of the entire system, so it could be expected that
>> some commands will behave somewhat differently as they relate to this
>> new feature. Actually, with non-stop debugging feature turned off, and
>> without attaching to multiple processes, these commands would still
>> behave exactly as they do now.
>>
>
> Given the choice between:
>
> 1. Changing the behaviour of the existing command, and adding new one
> that behaves like existing one, and
>
> 2. Adding new command
>
> I think adding new command (or option to existing command), is a smaller change.
> So yes, -exec-continue -t <xxx> might be a better choice.
>
> - Volodya
>
I don't believe that I suggested adding any new command. Instead, I
suggested only changing the behavior of some of the existing commands to
use the currently selected thread. It was Jim's proposal that included
adding new commands. My point was that instead of adding new commands
it would be cleaner to extend the functionality of -thread-select in
order to select a process context, i.e. a context that includes all
threads. This way existing commands, which currently can only operate on
a global context, could now operate on a process or a thread context.
Cheers,
Pawel
^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: Non-stop multi-threaded debugging
[not found] ` <474EEB36.1040203@windriver.com>
@ 2007-11-29 16:46 ` Vladimir Prus
2007-11-29 17:36 ` Pawel Piech
0 siblings, 1 reply; 13+ messages in thread
From: Vladimir Prus @ 2007-11-29 16:46 UTC (permalink / raw)
To: Pawel Piech; +Cc: gdb
On Thursday 29 November 2007 19:39:18 Pawel Piech wrote:
> I don't believe that I suggested adding any new command.
> Instead, I suggested only changing the behavior of
> some of the existing commands to use the currently selected thread.
> It was Jim's proposal that included adding new commands.
> My point was that instead of adding new commands it would be cleaner
> to extend the functionality of -thread-select in order to select
> a process context, i.e. a context that includes all threads.
> This way existing commands, which currently can only operate
> on a global context, could now operate on a process or a thread context.
Ok, we have those choices:
1. Make -exec-continue work on all threads, until -thread-select is used.
2. Make -exec-continue work on one thread, and add another command
to operate on all threads.
3. Make -exec-continue still operate on all threads, unless
and explicit option to make it operate on a thread is given.
You've indicated that (1) and (3) are about the same in complexity for you --
am I right? I personally prefer (3), since it does not implicitly changes
the meaning of existing commands.
Surely, non-stop mode does require some changes in frontend, but the
fewer changes are, the better, IMO.
- Volodya
^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: Non-stop multi-threaded debugging
2007-11-29 16:46 ` Vladimir Prus
@ 2007-11-29 17:36 ` Pawel Piech
2007-11-29 17:51 ` Vladimir Prus
0 siblings, 1 reply; 13+ messages in thread
From: Pawel Piech @ 2007-11-29 17:36 UTC (permalink / raw)
To: Vladimir Prus; +Cc: gdb
Vladimir Prus wrote:
> On Thursday 29 November 2007 19:39:18 Pawel Piech wrote:
>
>
>> I don't believe that I suggested adding any new command.
>> Instead, I suggested only changing the behavior of
>> some of the existing commands to use the currently selected thread.
>> It was Jim's proposal that included adding new commands.
>> My point was that instead of adding new commands it would be cleaner
>> to extend the functionality of -thread-select in order to select
>> a process context, i.e. a context that includes all threads.
>> This way existing commands, which currently can only operate
>> on a global context, could now operate on a process or a thread context.
>>
>
> Ok, we have those choices:
>
> 1. Make -exec-continue work on all threads, until -thread-select is used.
> 2. Make -exec-continue work on one thread, and add another command
> to operate on all threads.
> 3. Make -exec-continue still operate on all threads, unless
> and explicit option to make it operate on a thread is given.
>
> You've indicated that (1) and (3) are about the same in complexity for you --
> am I right?
This is correct.
> I personally prefer (3), since it does not implicitly changes
> the meaning of existing commands.
>
> Surely, non-stop mode does require some changes in frontend, but the
> fewer changes are, the better, IMO.
>
> - Volodya
>
In that case I'll try to convince you otherwise :-)
-exec-continue is not the only command that would need to be modified.
-exec-interrupt, would all need to take the -p parameter, and in order
to implement multi-process debugging, many of the commands that
currently operate on a global context (too many to try to list) would
all require an additional parameter to specify which process they are to
act on. There seems to be a well established paradigm in the MI (and
CLI) protocol, where special commands: -thread-select and
-stack-frame-select change the state of the protocol so that commands
following these operate on the context selected by these commands. My
main point is to extend the functionality of these state-changing
commands in order to add the ability to select an active context, and to
select a context which will allow commands to operate on all the threads
of a process.
IMO, the question of whether -exec-continue takes a -p argument is a
rather minor one. But for sake of consistency with other -exec-*
commands I think it would be a mistake to add this parameter. That's
because the stepping commands already do operate on the currently
selected thread. While all the threads are resumed when stepping,
execution does not stop until the next line of code is reached by the
thread that was selected. With non-stop debugging, stepping commands
will continue to operate on the selected thread with the difference that
other suspended threads will remain suspended. It seems logical to me
that -exec-continue and -exec-interrupt should operate in the same way.
In the degenerate case where the target is not capable non-stop
multi-threaded debugging, conceptually these commands can still be
thought of as operating on the selected thread, with the side effect
that when one thread is resumed/suspended, all threads are
resumed/suspended as well.
Cheers,
Pawel
^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: Non-stop multi-threaded debugging
2007-11-29 17:36 ` Pawel Piech
@ 2007-11-29 17:51 ` Vladimir Prus
2007-11-29 18:13 ` Pawel Piech
0 siblings, 1 reply; 13+ messages in thread
From: Vladimir Prus @ 2007-11-29 17:51 UTC (permalink / raw)
To: Pawel Piech; +Cc: gdb
On Thursday 29 November 2007 20:36:18 Pawel Piech wrote:
> Vladimir Prus wrote:
> > On Thursday 29 November 2007 19:39:18 Pawel Piech wrote:
> >
> >
> >> I don't believe that I suggested adding any new command.
> >> Instead, I suggested only changing the behavior of
> >> some of the existing commands to use the currently selected thread.
> >> It was Jim's proposal that included adding new commands.
> >> My point was that instead of adding new commands it would be cleaner
> >> to extend the functionality of -thread-select in order to select
> >> a process context, i.e. a context that includes all threads.
> >> This way existing commands, which currently can only operate
> >> on a global context, could now operate on a process or a thread context.
> >>
> >
> > Ok, we have those choices:
> >
> > 1. Make -exec-continue work on all threads, until -thread-select is used.
> > 2. Make -exec-continue work on one thread, and add another command
> > to operate on all threads.
> > 3. Make -exec-continue still operate on all threads, unless
> > and explicit option to make it operate on a thread is given.
> >
> > You've indicated that (1) and (3) are about the same in complexity for you --
> > am I right?
> This is correct.
> > I personally prefer (3), since it does not implicitly changes
> > the meaning of existing commands.
> >
> > Surely, non-stop mode does require some changes in frontend, but the
> > fewer changes are, the better, IMO.
> >
> > - Volodya
> >
>
> In that case I'll try to convince you otherwise :-)
>
> -exec-continue is not the only command that would need to be modified.
> -exec-interrupt, would all need to take the -p parameter, and in order
> to implement multi-process debugging, many of the commands that
> currently operate on a global context (too many to try to list) would
> all require an additional parameter to specify which process they are to
> act on. There seems to be a well established paradigm in the MI (and
> CLI) protocol, where special commands: -thread-select and
> -stack-frame-select change the state of the protocol so that commands
> following these operate on the context selected by these commands.
There are different opinions about those commands ;-) For example, I believe
that stateless protocol would be much easier.
> My
> main point is to extend the functionality of these state-changing
> commands in order to add the ability to select an active context, and to
> select a context which will allow commands to operate on all the threads
> of a process.
>
> IMO, the question of whether -exec-continue takes a -p argument is a
> rather minor one. But for sake of consistency with other -exec-*
> commands I think it would be a mistake to add this parameter. That's
> because the stepping commands already do operate on the currently
> selected thread. While all the threads are resumed when stepping,
> execution does not stop until the next line of code is reached by the
> thread that was selected. With non-stop debugging, stepping commands
> will continue to operate on the selected thread with the difference that
> other suspended threads will remain suspended.
Interesting. Presently, in CLI gdb set 'scheduler mode' that controls
if step resumes all thread, or not. MI does not have a counterpart of that.
Maybe, we should start by changing -exec-step to accept a thread parameter, too,
which would mean "step only this thread, keep others suspended". Then,
-exec-continue taking thread parameter will be quite consistent with -exec-step.
I would say such change to -exec-step will be valuable in itself.
- Volodya
^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: Non-stop multi-threaded debugging
2007-11-29 17:51 ` Vladimir Prus
@ 2007-11-29 18:13 ` Pawel Piech
0 siblings, 0 replies; 13+ messages in thread
From: Pawel Piech @ 2007-11-29 18:13 UTC (permalink / raw)
To: Vladimir Prus; +Cc: gdb
Vladimir Prus wrote:
> On Thursday 29 November 2007 20:36:18 Pawel Piech wrote:
>
>> Vladimir Prus wrote:
>>
>>> On Thursday 29 November 2007 19:39:18 Pawel Piech wrote:
>>>
>>>
>>>
>>>> I don't believe that I suggested adding any new command.
>>>> Instead, I suggested only changing the behavior of
>>>> some of the existing commands to use the currently selected thread.
>>>> It was Jim's proposal that included adding new commands.
>>>> My point was that instead of adding new commands it would be cleaner
>>>> to extend the functionality of -thread-select in order to select
>>>> a process context, i.e. a context that includes all threads.
>>>> This way existing commands, which currently can only operate
>>>> on a global context, could now operate on a process or a thread context.
>>>>
>>>>
>>> Ok, we have those choices:
>>>
>>> 1. Make -exec-continue work on all threads, until -thread-select is used.
>>> 2. Make -exec-continue work on one thread, and add another command
>>> to operate on all threads.
>>> 3. Make -exec-continue still operate on all threads, unless
>>> and explicit option to make it operate on a thread is given.
>>>
>>> You've indicated that (1) and (3) are about the same in complexity for you --
>>> am I right?
>>>
>> This is correct.
>>
>>> I personally prefer (3), since it does not implicitly changes
>>> the meaning of existing commands.
>>>
>>> Surely, non-stop mode does require some changes in frontend, but the
>>> fewer changes are, the better, IMO.
>>>
>>> - Volodya
>>>
>>>
>> In that case I'll try to convince you otherwise :-)
>>
>> -exec-continue is not the only command that would need to be modified.
>> -exec-interrupt, would all need to take the -p parameter, and in order
>> to implement multi-process debugging, many of the commands that
>> currently operate on a global context (too many to try to list) would
>> all require an additional parameter to specify which process they are to
>> act on. There seems to be a well established paradigm in the MI (and
>> CLI) protocol, where special commands: -thread-select and
>> -stack-frame-select change the state of the protocol so that commands
>> following these operate on the context selected by these commands.
>>
>
> There are different opinions about those commands ;-) For example, I believe
> that stateless protocol would be much easier.
>
>
I completely agree with you, for a "machine interface" a stateless
protocol would be much easier to use. But GDB/MI is what it is and at
this point trying to make it stateless would probably be counter productive.
>> My
>> main point is to extend the functionality of these state-changing
>> commands in order to add the ability to select an active context, and to
>> select a context which will allow commands to operate on all the threads
>> of a process.
>>
>> IMO, the question of whether -exec-continue takes a -p argument is a
>> rather minor one. But for sake of consistency with other -exec-*
>> commands I think it would be a mistake to add this parameter. That's
>> because the stepping commands already do operate on the currently
>> selected thread. While all the threads are resumed when stepping,
>> execution does not stop until the next line of code is reached by the
>> thread that was selected. With non-stop debugging, stepping commands
>> will continue to operate on the selected thread with the difference that
>> other suspended threads will remain suspended.
>>
>
> Interesting. Presently, in CLI gdb set 'scheduler mode' that controls
> if step resumes all thread, or not. MI does not have a counterpart of that.
> Maybe, we should start by changing -exec-step to accept a thread parameter, too,
> which would mean "step only this thread, keep others suspended". Then,
> -exec-continue taking thread parameter will be quite consistent with -exec-step.
> I would say such change to -exec-step will be valuable in itself.
>
> - Volodya
>
I'm rather confused here. I thought that the point of non-stop
multi-threaded debugging was to allow for this behavior. Is "scheduler
mode" some kind of partial implementation? Either way though, I have no
opinion whether it would be useful for the command line user to be able
to specify the scheduling mode as an option to individual commands, but
in an IDE such behavior would most likely be controlled with a toggle
button, so a mode switch command would be sufficient. If -exec-step
would take a -p parameter to determine whether to resume all threads,
then -exec-step without -p would still operate on the selected thread,
in that it would suspend the process only when the selected thread
reached the next line. IHMO, this would only add to the confusion.
Cheers,
Pawel
^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: Non-stop multi-threaded debugging
2007-11-28 5:18 Non-stop multi-threaded debugging Pawel Piech
2007-11-29 2:08 ` Nick Roberts
@ 2007-12-04 18:34 ` Jim Blandy
2007-12-04 23:05 ` Pawel Piech
1 sibling, 1 reply; 13+ messages in thread
From: Jim Blandy @ 2007-12-04 18:34 UTC (permalink / raw)
To: Pawel Piech; +Cc: gdb
Folks should treat this post:
http://sourceware.org/ml/gdb/2007-11/msg00198.html
as an attempt to mention all the relevant issues --- not as a fully
worked-out design. The plan was to hash out the details through
discussion amongst the front end authors on this list. I don't have
experience writing clients for MI; I've only dealt with implementing
it in GDB, and even then not much. So you people who work on
real-life front ends are in a much better position to see what would
work best.
So I encourage you, Vlad, Nick, and the rest of the MI fans to hash it
all out and come up with something everyone is satisfied with. We
just need to make sure that the issues the analysis raises all get
addressed (or dismissed).
^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: Non-stop multi-threaded debugging
2007-12-04 18:34 ` Jim Blandy
@ 2007-12-04 23:05 ` Pawel Piech
2007-12-05 21:52 ` Jim Blandy
0 siblings, 1 reply; 13+ messages in thread
From: Pawel Piech @ 2007-12-04 23:05 UTC (permalink / raw)
To: Jim Blandy; +Cc: gdb
Hi Jim,
I'm glad to hear that you're receptive to feedback in defining the
protocol for these new features. I will be glad to write up my proposal
as a starting point for discussion. I've never participated on this
list before or in any other GDB forum, so forgive my ignorance, but is
this mailing list the appropriate place for this discussion? Is there a
bugzilla or other bug database where I could post this document? And
what is the best format for such design document.
Thanks
Pawel
Jim Blandy wrote:
> Folks should treat this post:
>
> http://sourceware.org/ml/gdb/2007-11/msg00198.html
>
> as an attempt to mention all the relevant issues --- not as a fully
> worked-out design. The plan was to hash out the details through
> discussion amongst the front end authors on this list. I don't have
> experience writing clients for MI; I've only dealt with implementing
> it in GDB, and even then not much. So you people who work on
> real-life front ends are in a much better position to see what would
> work best.
>
> So I encourage you, Vlad, Nick, and the rest of the MI fans to hash it
> all out and come up with something everyone is satisfied with. We
> just need to make sure that the issues the analysis raises all get
> addressed (or dismissed).
>
^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: Non-stop multi-threaded debugging
2007-12-04 23:05 ` Pawel Piech
@ 2007-12-05 21:52 ` Jim Blandy
0 siblings, 0 replies; 13+ messages in thread
From: Jim Blandy @ 2007-12-05 21:52 UTC (permalink / raw)
To: Pawel Piech; +Cc: gdb
Pawel Piech <pawel.piech at windriver.com> writes:
> I'm glad to hear that you're receptive to feedback in defining the
> protocol for these new features. I will be glad to write up my
> proposal as a starting point for discussion.
That'd be great!
> I've never participated
> on this list before or in any other GDB forum, so forgive my
> ignorance, but is this mailing list the appropriate place for this
> discussion? Is there a bugzilla or other bug database where I could
> post this document? And what is the best format for such design
> document.
This is the right list for general discussion like this. If one has a
patch for discussion or review, that belongs on gdb-patches.
We haven't made a practice of putting documents in an issue tracker; I
don't think anyone has proposed it. We just link to the archive, as I
did in the message you replied to.
The GDB documentation is written in texinfo. When I've written draft
documentation for discussion, I've written it in texinfo, and then
posted the output from 'makeinfo --plaintext' for review and
discussion. But if it's not intended to go into a manual, then plain
text is what we usually use.
^ permalink raw reply [flat|nested] 13+ messages in thread
end of thread, other threads:[~2007-12-05 21:52 UTC | newest]
Thread overview: 13+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2007-11-28 5:18 Non-stop multi-threaded debugging Pawel Piech
2007-11-29 2:08 ` Nick Roberts
2007-11-29 6:15 ` Pawel Piech
2007-11-29 6:46 ` gdb over RNDIS to PDA Steve DeLaney
2007-11-29 8:36 ` Non-stop multi-threaded debugging Vladimir Prus
2007-11-29 16:42 ` Pawel Piech
[not found] ` <474EEB36.1040203@windriver.com>
2007-11-29 16:46 ` Vladimir Prus
2007-11-29 17:36 ` Pawel Piech
2007-11-29 17:51 ` Vladimir Prus
2007-11-29 18:13 ` Pawel Piech
2007-12-04 18:34 ` Jim Blandy
2007-12-04 23:05 ` Pawel Piech
2007-12-05 21:52 ` Jim Blandy
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox