Mirror of the gdb mailing list
 help / color / mirror / Atom feed
* target remote-attach?
@ 2008-02-29 20:23 Michael Snyder
  2008-02-29 20:26 ` Paul Koning
  2008-02-29 20:29 ` Daniel Jacobowitz
  0 siblings, 2 replies; 4+ messages in thread
From: Michael Snyder @ 2008-02-29 20:23 UTC (permalink / raw)
  To: gdb

Just thinking aloud... we ought to have a sort of "remote-attach"
command, that would allow us to connect to a remote target when it
is already in a "run" state.  Right now the initial handshake 
protocol prevents doing that.

The target might be waiting to tell gdb "I stopped because of
a SIGTRAP", or similar, or it might actually be running, and
need to be stopped via a serial BRK or the like.  After that, 
we would be in a sane state from which we could do the usual
remote_open handshake.

Or is there something like that already?




^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: target remote-attach?
  2008-02-29 20:23 target remote-attach? Michael Snyder
@ 2008-02-29 20:26 ` Paul Koning
  2008-02-29 22:20   ` Michael Snyder
  2008-02-29 20:29 ` Daniel Jacobowitz
  1 sibling, 1 reply; 4+ messages in thread
From: Paul Koning @ 2008-02-29 20:26 UTC (permalink / raw)
  To: msnyder; +Cc: gdb

>>>>> "Michael" == Michael Snyder <msnyder@specifix.com> writes:

 Michael> Just thinking aloud... we ought to have a sort of
 Michael> "remote-attach" command, that would allow us to connect to a
 Michael> remote target when it is already in a "run" state.  Right
 Michael> now the initial handshake protocol prevents doing that.

 Michael> The target might be waiting to tell gdb "I stopped because
 Michael> of a SIGTRAP", or similar, or it might actually be running,
 Michael> and need to be stopped via a serial BRK or the like.  After
 Michael> that, we would be in a sane state from which we could do the
 Michael> usual remote_open handshake.

 Michael> Or is there something like that already?

I haven't seen the problem you mention.  gdbserver allows attaching to
a running process (by PID) and that has always worked for me.  For
that matter, it works also with a native gdb (local debug).

Similarly, I've used the remote target protocol for kernel debug,
connecting after the kernel panic handler has invoked the stub via a
breakpoint instruction.  That too works fine.

	   paul


^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: target remote-attach?
  2008-02-29 20:23 target remote-attach? Michael Snyder
  2008-02-29 20:26 ` Paul Koning
@ 2008-02-29 20:29 ` Daniel Jacobowitz
  1 sibling, 0 replies; 4+ messages in thread
From: Daniel Jacobowitz @ 2008-02-29 20:29 UTC (permalink / raw)
  To: gdb

On Fri, Feb 29, 2008 at 12:14:51PM -0800, Michael Snyder wrote:
> Just thinking aloud... we ought to have a sort of "remote-attach"
> command, that would allow us to connect to a remote target when it
> is already in a "run" state.  Right now the initial handshake 
> protocol prevents doing that.
> 
> The target might be waiting to tell gdb "I stopped because of
> a SIGTRAP", or similar, or it might actually be running, and
> need to be stopped via a serial BRK or the like.  After that, 
> we would be in a sane state from which we could do the usual
> remote_open handshake.
> 
> Or is there something like that already?

It's true that we can't attach to a remote stub where the target is
currently running; we'll be looking at that in the context of non-stop
debugging but probably by changing the remote protocol somewhat.  With
the existing protocol it's hard because sending a query may be
interpreted as an interrupt.  If the stub's waiting to send something,
how's the user supposed to figure out if it already has or not?

-- 
Daniel Jacobowitz
CodeSourcery


^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: target remote-attach?
  2008-02-29 20:26 ` Paul Koning
@ 2008-02-29 22:20   ` Michael Snyder
  0 siblings, 0 replies; 4+ messages in thread
From: Michael Snyder @ 2008-02-29 22:20 UTC (permalink / raw)
  To: Paul Koning; +Cc: gdb

On Fri, 2008-02-29 at 15:23 -0500, Paul Koning wrote:
> >>>>> "Michael" == Michael Snyder <msnyder@specifix.com> writes:
> 
>  Michael> Just thinking aloud... we ought to have a sort of
>  Michael> "remote-attach" command, that would allow us to connect to a
>  Michael> remote target when it is already in a "run" state.  Right
>  Michael> now the initial handshake protocol prevents doing that.
> 
>  Michael> The target might be waiting to tell gdb "I stopped because
>  Michael> of a SIGTRAP", or similar, or it might actually be running,
>  Michael> and need to be stopped via a serial BRK or the like.  After
>  Michael> that, we would be in a sane state from which we could do the
>  Michael> usual remote_open handshake.
> 
>  Michael> Or is there something like that already?
> 
> I haven't seen the problem you mention.  gdbserver allows attaching to
> a running process (by PID) and that has always worked for me.  For
> that matter, it works also with a native gdb (local debug).
> 
> Similarly, I've used the remote target protocol for kernel debug,
> connecting after the kernel panic handler has invoked the stub via a
> breakpoint instruction.  That too works fine.

Yeah, the situation I have in mind is, say you've already been
connected, and you've said "continue", and then while gdb was
waiting for the target to say "OK, I've stopped", you lost the
connection.  

The situation you mention (native "attach") is kind of analogous.
You want to connect to a running target, possibly interrupt it, 
(native attach sends the child a signal), and then handshake.




^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2008-02-29 22:09 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2008-02-29 20:23 target remote-attach? Michael Snyder
2008-02-29 20:26 ` Paul Koning
2008-02-29 22:20   ` Michael Snyder
2008-02-29 20:29 ` Daniel Jacobowitz

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox