SYNOPSIS

       gdbserver
              tty prog [args...]

       gdbserver tty --attach PID


DESCRIPTION

       GDBSERVER  is  a  program  that allows you to run GDB on a
       different machine than the one which is running  the  pro­
       gram being debugged.

       Usage (server (target) side):

       First,  you need to have a copy of the program you want to
       debug put onto the target  system.   The  program  can  be
       stripped  to  save  space  if needed, as GDBserver doesn't
       care about symbols.  All symbol handling is taken care  of
       by the GDB running on the host system.

       To  use  the  server, you log on to the target system, and
       run the `gdbserver' program.  You must tell it (a) how  to
       communicate  with  GDB,  (b) the name of your program, and
       (c) its arguments.  The general syntax is:

            target> gdbserver COMM PROGRAM [ARGS ...]

       For example, using a serial port, you might say:

            target> gdbserver /dev/com1 emacs foo.txt

       This tells gdbserver to debug emacs with  an  argument  of
       foo.txt,  and to communicate with GDB via /dev/com1.  Gdb­
       server now waits patiently for the host GDB to communicate
       with it.

       To use a TCP connection, you could say:

            target> gdbserver host:2345 emacs foo.txt

       This  says pretty much the same thing as the last example,
       except that we are going to communicate with the host  GDB
       via  TCP.   The  `host:2345'  argument  means  that we are
       expecting to see a TCP connection from `host' to local TCP
       port  2345.  (Currently, the `host' part is ignored.)  You
       can choose any number you want for the port number as long
       as it does not conflict with any existing TCP ports on the
       target system.  This same port number must be used in  the
       host GDBs `target remote' command, which will be described
       shortly.  Note that if you chose a port number  that  con­
       flicts with another service, gdbserver will print an error
       message and exit.

       and such.  Start up GDB as you normally  would,  with  the
       target  program  as  the first argument.  (You may need to
       use the --baud option if the serial  line  is  running  at
       anything  except  9600  baud.)   Ie: `gdb TARGET-PROG', or
       `gdb --baud BAUD TARGET-PROG'.  After that, the  only  new
       command  you  need to know about is `target remote'.  It's
       argument is either a device name (usually a serial device,
       like  `/dev/ttyb'),  or a HOST:PORT descriptor.  For exam­
       ple:

            (gdb) target remote /dev/ttyb

       communicates with the server via  serial  line  /dev/ttyb,
       and:

            (gdb) target remote the-target:2345

       communicates  via  a  TCP  connection to port 2345 on host
       `the-target', where you previously  started  up  gdbserver
       with the same port number.  Note that for TCP connections,
       you must start up gdbserver prior  to  using  the  `target
       remote' command, otherwise you may get an error that looks
       something like `Connection refused'.


OPTIONS

       You have to supply the name of the program  to  debug  and
       the  tty  to communicate on; the remote GDB will do every­
       thing else.  Any remaining arguments will be passed to the
       program verbatim.


SEE ALSO

       `gdb' entry in info; Using GDB: A Guide to the GNU Source-
       Level Debugger, Richard M. Stallman and Roland  H.  Pesch,
       July 1991.


COPYING

       Copyright (c) 1993 Free Software Foundation, Inc.

       Permission  is  granted  to  make  and distribute verbatim
       copies of this manual provided the  copyright  notice  and
       this permission notice are preserved on all copies.

       Permission is granted to copy and distribute modified ver­
       sions of this manual under  the  conditions  for  verbatim
       copying,  provided  that the entire resulting derived work
       is distributed under the  terms  of  a  permission  notice
       identical to this one.

       Permission  is granted to copy and distribute translations
       of this manual into another language, under the above con­
       ditions for modified versions, except that this permission
       notice may be included in  translations  approved  by  the

Man(1) output converted with man2html