docs: Document how to use gdb with unix sockets
With gdb 9.0 and better it is possible to connect to a gdbstub over unix sockets, which is better than a TCP socket connection in some situations. The QEMU command line to set this up is non-obvious; document it. Signed-off-by: Sebastian Meyer <meyer@absint.com> Message-id: 162867284829.27377.4784930719350564918-0@git.sr.ht [PMM: Tweaked commit message; adjusted wording in a couple of places; fixed rST formatting issue; moved section up out of the 'advanced debugging options' subsection] Reviewed-by: Peter Maydell <peter.maydell@linaro.org> Reviewed-by: Philippe Mathieu-Daudé <philmd@redhat.com> Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
This commit is contained in:
parent
6f287c700c
commit
24b1a6aa43
|
@ -15,7 +15,8 @@ The ``-s`` option will make QEMU listen for an incoming connection
|
||||||
from gdb on TCP port 1234, and ``-S`` will make QEMU not start the
|
from gdb on TCP port 1234, and ``-S`` will make QEMU not start the
|
||||||
guest until you tell it to from gdb. (If you want to specify which
|
guest until you tell it to from gdb. (If you want to specify which
|
||||||
TCP port to use or to use something other than TCP for the gdbstub
|
TCP port to use or to use something other than TCP for the gdbstub
|
||||||
connection, use the ``-gdb dev`` option instead of ``-s``.)
|
connection, use the ``-gdb dev`` option instead of ``-s``. See
|
||||||
|
`Using unix sockets`_ for an example.)
|
||||||
|
|
||||||
.. parsed-literal::
|
.. parsed-literal::
|
||||||
|
|
||||||
|
@ -100,6 +101,29 @@ not just those in the cluster you are currently working on::
|
||||||
|
|
||||||
(gdb) set schedule-multiple on
|
(gdb) set schedule-multiple on
|
||||||
|
|
||||||
|
Using unix sockets
|
||||||
|
==================
|
||||||
|
|
||||||
|
An alternate method for connecting gdb to the QEMU gdbstub is to use
|
||||||
|
a unix socket (if supported by your operating system). This is useful when
|
||||||
|
running several tests in parallel, or if you do not have a known free TCP
|
||||||
|
port (e.g. when running automated tests).
|
||||||
|
|
||||||
|
First create a chardev with the appropriate options, then
|
||||||
|
instruct the gdbserver to use that device:
|
||||||
|
|
||||||
|
.. parsed-literal::
|
||||||
|
|
||||||
|
|qemu_system| -chardev socket,path=/tmp/gdb-socket,server=on,wait=off,id=gdb0 -gdb chardev:gdb0 -S ...
|
||||||
|
|
||||||
|
Start gdb as before, but this time connect using the path to
|
||||||
|
the socket::
|
||||||
|
|
||||||
|
(gdb) target remote /tmp/gdb-socket
|
||||||
|
|
||||||
|
Note that to use a unix socket for the connection you will need
|
||||||
|
gdb version 9.0 or newer.
|
||||||
|
|
||||||
Advanced debugging options
|
Advanced debugging options
|
||||||
==========================
|
==========================
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue