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