Re: howto? gdb --> AF_UNIX --> gdbserver

Rick van Rein via Gdb <[email protected]>
Newsgroups gmane.comp.gdb.devel
Message-ID <[email protected]>
Hi Martin / GDB,

Turns out, I was quite right to complain about missing documentation.  I think it is useful if this would be fixed.

>> * I cannot figure out how to tell gdbserver to listen to a UNIX domain
>> socket at a given filename.  I would expect it to listen, like it does
>> for TCP sockets, but it complains that the name is missing.
>
> You can't do this with gdbserver itself, but you can wrap it with nc,
> e.g.
>
> rm $unix-domain-socket
> nc -Ul -e "gdbserver --no-startup-with-shell stdio $program-to-debug" $unix-domain-socket

Thanks, that really cleared up the problem.  You are using another flavour or netcat than the two I have :) but at least it is clear that gdbserver does not really align with gdb when it comes to UNIX domain sockets.  Surprising, but good to at least know.  I was really confused, especially because it is so surprising / unlogical.

This really is completely underdocumented, and that is a problem, I think.  The same goes for the --multi mode, which I worked out by trying, but it is not clear at all from the documentation.  I had to fiddle around to find out that it takes only one connection at a time, and so could not debug a couple of processes in parallel, in whatever way, as the --multi option might be interpreted.

>> * Using gdb with "target remote", the same thing seems to happen; it
>> seems to want a pre-existing UNIX domain socket.  This _is_ in line with
>> the TCP style of connecting.
>
> Yes, if the argument to "target remote" is an existing UNIX domain
> socket name then gdb will connect to it.

That makes sense on its own; because that it is what it does with TCP also.

-Rick
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.