mirror of
https://github.com/espressif/binutils-gdb.git
synced 2025-08-06 14:49:38 +08:00
* NEWS: Add entry for stdio gdbserver.
gdbserver/ * linux-low.c (linux_create_inferior): If stdio connection, redirect stdin from /dev/null, stdout to stderr. * remote-utils.c (remote_is_stdio): New static global. (remote_connection_is_stdio): New function. (remote_prepare): Handle stdio connection. (remote_open): Ditto. (remote_close): Don't close stdin for stdio connections. (read_prim,write_prim): New functions. Replace all calls to read/write to these. * server.c (main): Watch for "-" argument. Move call to remote_prepare before start_inferior. * server.h (STDIO_CONNECTION_NAME): New macro. (remote_connection_is_stdio): Declare. doc/ * gdb.texinfo (Server): Document -/stdio argument to gdbserver. testsuite/ * lib/gdbserver-support.exp (gdb_target_cmd): Recognize stdio gdbserver output. (gdbserver_default_get_remote_address): New function. (gdbserver_start): Call gdb,get_remote_address to compute argument to "target remote" command.
This commit is contained in:
@ -1,3 +1,7 @@
|
||||
2011-12-16 Doug Evans <dje@google.com>
|
||||
|
||||
* gdb.texinfo (Server): Document -/stdio argument to gdbserver.
|
||||
|
||||
2011-12-16 Phil Muldoon <pmuldoon@redhat.com>
|
||||
|
||||
* gdb.texinfo (Python Commands): Remove "maint set/show print
|
||||
|
@ -16766,8 +16766,10 @@ syntax is:
|
||||
target> gdbserver @var{comm} @var{program} [ @var{args} @dots{} ]
|
||||
@end smallexample
|
||||
|
||||
@var{comm} is either a device name (to use a serial line) or a TCP
|
||||
hostname and portnumber. For example, to debug Emacs with the argument
|
||||
@var{comm} is either a device name (to use a serial line), or a TCP
|
||||
hostname and portnumber, or @code{-} or @code{stdio} to use
|
||||
stdin/stdout of @code{gdbserver}.
|
||||
For example, to debug Emacs with the argument
|
||||
@samp{foo.txt} and communicate with @value{GDBN} over the serial port
|
||||
@file{/dev/com1}:
|
||||
|
||||
@ -16796,6 +16798,23 @@ conflicts with another service, @code{gdbserver} prints an error message
|
||||
and exits.} You must use the same port number with the host @value{GDBN}
|
||||
@code{target remote} command.
|
||||
|
||||
The @code{stdio} connection is useful when starting @code{gdbserver}
|
||||
with ssh:
|
||||
|
||||
@smallexample
|
||||
(gdb) target remote | ssh -T hostname gdbserver - hello
|
||||
@end smallexample
|
||||
|
||||
The @samp{-T} option to ssh is provided because we don't need a remote pty,
|
||||
and we don't want escape-character handling. Ssh does this by default when
|
||||
a command is provided, the flag is provided to make it explicit.
|
||||
You could elide it if you want to.
|
||||
|
||||
Programs started with stdio-connected gdbserver have @file{/dev/null} for
|
||||
@code{stdin}, and @code{stdout},@code{stderr} are sent back to gdb for
|
||||
display through a pipe connected to gdbserver.
|
||||
Both @code{stdout} and @code{stderr} use the same pipe.
|
||||
|
||||
@subsubsection Attaching to a Running Program
|
||||
@cindex attach to a program, @code{gdbserver}
|
||||
@cindex @option{--attach}, @code{gdbserver} option
|
||||
|
Reference in New Issue
Block a user