slydiman wrote: @labath It seems we do not need qSupported and qUpgradeToGdbConnection. We can run `lldb-server platform --server --listen 1234 --gdbserver-port 1235`
Option 1: On receiving qLaunchGDBServer we can - fork the child process to know the new pid - send the response with the pid and port 1235 - wait for the connection on the port 1235 for 10 seconds - kill the child process if no connection accepted in 10 seconds - execve `lldb-server gdbserver --fd x` where x is fd of the accepted connection We need a pipe for communication between the main `lldb-server platform` process and the forked child process within 10 secconds. But unfortunately this scenario is impossible on Windows because of fork() is missing. Option 2: It seems PlatformRemoteGDBServer uses `debugserver_pid` only to kill the gdbserver process if connection failed. It seems we can just do nothing and respond `pid:0;port:1235;` to `qLaunchGDBServer`. Then listen the port 1235 and launch `lldb-server gdbserver --fd x` when a connection is accepted. `lldb-server gdbserver` must exit if the connection x is closed. https://github.com/llvm/llvm-project/pull/100670 _______________________________________________ lldb-commits mailing list lldb-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits