diff options
author | John Darrington <john@darrington.wattle.id.au> | 2018-10-13 17:27:05 +0200 |
---|---|---|
committer | John Darrington <john@darrington.wattle.id.au> | 2018-10-23 16:09:33 +0200 |
commit | 0a163825df5e98ad55de13eb3d3534d875943047 (patch) | |
tree | 7662a77d9071e3925150bdb4532b681d288fea00 | |
parent | 6d0f8100c1a3053c967bec716e34b65dd054cc39 (diff) | |
download | gdb-0a163825df5e98ad55de13eb3d3534d875943047.zip gdb-0a163825df5e98ad55de13eb3d3534d875943047.tar.gz gdb-0a163825df5e98ad55de13eb3d3534d875943047.tar.bz2 |
GDB: Fix documentation for invoking GDBSERVER
The documentation did not mention the possibility of invoking gdbserver
with the new connection forms such as tcp6:host:port. This change fixes
that.
gdb/doc/
* gdb.texinfo (Server): Tabulate the various permitted forms of the @var{comm}
metasyntactical variable. Include the unix:@var{host}:@var{socket} form as
one of them.
-rw-r--r-- | gdb/doc/gdb.texinfo | 60 |
1 files changed, 44 insertions, 16 deletions
diff --git a/gdb/doc/gdb.texinfo b/gdb/doc/gdb.texinfo index 9616d37..e8ad353 100644 --- a/gdb/doc/gdb.texinfo +++ b/gdb/doc/gdb.texinfo @@ -21097,9 +21097,19 @@ 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, or @code{-} or @code{stdio} to use -stdin/stdout of @code{gdbserver}. +@code{gdbserver} waits passively for the host @value{GDBN} to communicate +with it. + +@var{comm} may take several forms: + +@table @code +@item @var{device} +A serial line device. + +@item - +@itemx stdio +To use the 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}: @@ -21108,8 +21118,27 @@ For example, to debug Emacs with the argument target> gdbserver /dev/com1 emacs foo.txt @end smallexample -@code{gdbserver} waits passively for the host @value{GDBN} to communicate -with it. +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. + +@item @var{host}:@var{port} +@itemx tcp:@var{host}:@var{port} +@itemx tcp4:@var{host}:@var{port} +To use a @acronym{TCP} @acronym{IPv4} socket connection on port number @var{port}. To use a TCP connection instead of a serial line: @@ -21129,22 +21158,21 @@ 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: + +@item tcp6:@var{host}:@var{port} +To use a @acronym{TCP} @acronym{IPv6} socket connection on port number @var{port}. + +@item unix:@var{host}:@var{local-socket} +To use a Unix domain socket. This will create a socket with the file +system entry @var{local-socket} and listen on that. For example: @smallexample -(gdb) target remote | ssh -T hostname gdbserver - hello +target> gdbserver unix:localhost:/tmp/gdb-socket0 emacs foo.txt @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. +@var{host} must either be the empty string or the literal string @code{localhost}. +@end table -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. @anchor{Attaching to a program} @subsubsection Attaching to a Running Program |