]> git.ipfire.org Git - thirdparty/qemu.git/commit
gdbstub: Allow late attachment
authorIlya Leoshkevich <iii@linux.ibm.com>
Fri, 7 Feb 2025 15:31:10 +0000 (15:31 +0000)
committerAlex Bennée <alex.bennee@linaro.org>
Mon, 10 Feb 2025 13:47:59 +0000 (13:47 +0000)
commitd156d5d1df12a73e06092dc5fa6595d6f16f8521
treecf926ff4c17d703b50578e60efcd0ba071d2004f
parenta33dcfe771c7c2460f2a6809c3b73a5d0772396f
gdbstub: Allow late attachment

Allow debugging individual processes in multi-process applications by
starting them with export QEMU_GDB=/tmp/qemu-%d.sock,suspend=n.
Currently one would have to attach to every process to ensure the app
makes progress.

In case suspend=n is not specified, the flow remains unchanged. If it
is specified, then accepting the client connection is delegated to a
thread. In the future this machinery may be reused for handling
reconnections and interruptions.

On accepting a connection, the thread schedules gdb_handlesig() on the
first CPU and wakes it up with host_interrupt_signal. Note that the
result of this gdb_handlesig() invocation is handled, as opposed to
many other existing call sites. These other call sites probably need to
be fixed separately.

Signed-off-by: Ilya Leoshkevich <iii@linux.ibm.com>
Message-Id: <20250117001542.8290-7-iii@linux.ibm.com>
Signed-off-by: Alex Bennée <alex.bennee@linaro.org>
Message-Id: <20250207153112.3939799-16-alex.bennee@linaro.org>
bsd-user/main.c
gdbstub/user.c
linux-user/main.c