aboutsummaryrefslogtreecommitdiff
path: root/linux-user
diff options
context:
space:
mode:
authorIlya Leoshkevich <iii@linux.ibm.com>2025-02-07 15:31:10 +0000
committerAlex Bennée <alex.bennee@linaro.org>2025-02-10 13:47:59 +0000
commitd156d5d1df12a73e06092dc5fa6595d6f16f8521 (patch)
treecf926ff4c17d703b50578e60efcd0ba071d2004f /linux-user
parenta33dcfe771c7c2460f2a6809c3b73a5d0772396f (diff)
downloadqemu-d156d5d1df12a73e06092dc5fa6595d6f16f8521.zip
qemu-d156d5d1df12a73e06092dc5fa6595d6f16f8521.tar.gz
qemu-d156d5d1df12a73e06092dc5fa6595d6f16f8521.tar.bz2
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>
Diffstat (limited to 'linux-user')
-rw-r--r--linux-user/main.c1
1 files changed, 0 insertions, 1 deletions
diff --git a/linux-user/main.c b/linux-user/main.c
index 7198fa0..5c74c52 100644
--- a/linux-user/main.c
+++ b/linux-user/main.c
@@ -1024,7 +1024,6 @@ int main(int argc, char **argv, char **envp)
if (gdbstub) {
gdbserver_start(gdbstub, &error_fatal);
- gdb_handlesig(cpu, 0, NULL, NULL, 0);
}
#ifdef CONFIG_SEMIHOSTING