18.4. Remote debugging
If you are trying to debug a program running on a machine that cannot run
gdb in the usual way, it is often useful to use remote debugging.
For example, you might use remote debugging on an operating system kernel,
or on a small system which does not have a general purpose operating system
powerful enough to run a full-featured debugger.
Some configurations of gdb have special serial or TCP/IP interfaces
to make this work with particular debugging targets. In addition,
gdb comes with a generic serial protocol (specific to gdb,
but not specific to any particular target system) which you can use if you
write the remote stubs--the code that runs on the remote system to
communicate with gdb.
Other remote targets may be available in your
configuration of gdb; use help target to list them.