From: jtc@redback.com (J.T. Conklin)
To: fche@redhat.com (Frank Ch. Eigler)
Cc: GDB Discussion <gdb@sources.redhat.com>
Subject: Re: gdb/remote - I/O
Date: Mon, 09 Apr 2001 10:43:00 -0000 [thread overview]
Message-ID: <5mae5q6kar.fsf@jtc.redback.com> (raw)
In-Reply-To: <o5pueoz53v.fsf@touchme.toronto.redhat.com>
>>>>> "Frank" == Frank Ch Eigler <fche@redhat.com> writes:
Frank> jtc wrote:
Frank> : Question: Does the remote protocol support systems where
Frank> : other threads continue to execute when one being debugged is
Frank> : halted. [...] But does the protocol itself allow this? From
Frank> : what I can tell, it can. If it does not, it almost does ---
Frank> : especially when you consider how loosely some of the commands
Frank> : are defined.
Frank> While the wire protocol is indeed rather loose, the process
Frank> model assumed by the dominant party (gdb) should be respected.
Frank> I would ascribe looseness not to encouraging creative
Frank> implementations, but to systemic lack of formality.
Frank> If your target requires some mixed halted/running thread
Frank> states, and you run into problems with gdb's model, you could
Frank> consider switching to a multi-process rather than multi-thread
Frank> debugging model.
The reason I asked is that from time to time over the last few years,
there has been talk of enhancing GDB to use a more complicated model
where systems with multiple (possibly heterogenous) processors, each
with multiple processes, each with multiple threads could be debugged.
If this is still the goal, we need to consider whether each decision
we make takes us closer or precludes us from reaching the goal.
Frank> : The proposals wrt. I/O seem to require the target to halt for I/O,
Frank> : which precludes enhancing GDB and the debug agents to take full
Frank> : advantage of the remote protocol. I ask whether or not this is
Frank> : desirable?
Frank> Is there anything special about I/O in this way? If your
Frank> unusual target, when responding to a ^C/break from gdb, decides
Frank> to stop just one thread, it could do the same thing for I/O.
Frank> It could suspend the output-causing thread; it could suspend
Frank> any old thread for enqueueing input.
With this model, you might be connected to the target (thus be able to
handle I/O) but not attached to any one thread. I've debugged vxWorks
targets this way, where the system is free running and all I can do is
memory reads and writes. This loses if I/O can only be handled while
waiting for an inferior thread/process.
--jtc
--
J.T. Conklin
RedBack Networks
next prev parent reply other threads:[~2001-04-09 10:43 UTC|newest]
Thread overview: 13+ messages / expand[flat|nested] mbox.gz Atom feed top
2001-03-23 15:36 Andrew Cagney
2001-03-29 16:27 ` Mark Salter
[not found] ` <3ABF9077.DFC22AE7@cygnus.com>
[not found] ` <200103261954.f2QJsBg15093@deneb.localdomain>
[not found] ` <3ABFA8D1.DA0D2EAE@redhat.com>
[not found] ` <3AC0C9DF.CB1BC2D9@cygnus.com>
2001-03-29 16:27 ` Fernando Nasser
2001-03-29 16:27 ` Andrew Cagney
2001-03-29 23:10 ` Todd Whitesel
2001-03-30 9:23 ` Andrew Cagney
[not found] ` <5mhf0fov3q.fsf@jtc.redback.com>
2001-03-30 9:48 ` Andrew Cagney
2001-04-06 11:28 ` Andrew Cagney
2001-04-06 11:47 ` Fernando Nasser
2001-04-06 12:56 ` J.T. Conklin
2001-04-07 16:02 ` Frank Ch. Eigler
2001-04-09 10:43 ` J.T. Conklin [this message]
2001-05-14 8:55 ` Andrew Cagney
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=5mae5q6kar.fsf@jtc.redback.com \
--to=jtc@redback.com \
--cc=fche@redhat.com \
--cc=gdb@sources.redhat.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox