OK, but apparently we need a little bit more to debug imap4d. First:
# file /usr/local/sbin/imap4d /usr/local/sbin/imap4d: ELF 32-bit LSB executable, Intel 80386, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.6.18, not stripped OK! Then, I try to start imap4d from gdb even with the '-d' flag: # gdb /usr/local/sbin/imap4d GNU gdb (GDB) 7.0.1-debian Copyright (C) 2009 Free Software Foundation, Inc. License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html> This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law. Type "show copying" and "show warranty" for details. This GDB was configured as "i486-linux-gnu". For bug reporting instructions, please see: <http://www.gnu.org/software/gdb/bugs/>... Reading symbols from /usr/local/sbin/imap4d...done. (gdb) run -d Starting program: /usr/local/sbin/imap4d -d [Thread debugging using libthread_db enabled] Program exited normally. (gdb) run --foreground Starting program: /usr/local/sbin/imap4d --foreground [Thread debugging using libthread_db enabled] * OK IMAP4rev1 Test mode So, if I try to run a daemon, gdb says it exits normally. I try to run --foreground, imap4d tries to talk to _me_, not listen for a connection. Now, if I try to attach to already running imap4d I get this: # ps ax|grep imap 1563 ? Ss 0:00 /usr/local/sbin/imap4d -d 1566 pts/2 S+ 0:00 grep imap # gdb program 1563 GNU gdb (GDB) 7.0.1-debian Copyright (C) 2009 Free Software Foundation, Inc. License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html> This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law. Type "show copying" and "show warranty" for details. This GDB was configured as "i486-linux-gnu". For bug reporting instructions, please see: <http://www.gnu.org/software/gdb/bugs/>. ..... (all the libraries loaded) ..... 0xb7fe2416 in __kernel_vsyscall () (gdb) info program Using the running image of attached Thread 0xb7a886e0 (LWP 1563). Program stopped at 0xb7fe2416. (gdb) continue Continuing. Then from a separate (local to me) shell: ~$ gnutls-cli --insecure --port 143 --starttls workingdroid.com Resolving 'workingdroid.com'... Connecting to '206.217.130.140:143'... - Simple Client Mode: * OK IMAP4rev1 . STARTTLS . OK STARTTLS Begin TLS negotiation - Peer has closed the GnuTLS connection And gdb is still: Continuing. I'm not sure, but its probably starting a subprocess to handle the incoming connection, so: how do we gdb onto that subprocess? On 06/05/2012 02:29 PM, Daniel Kahn Gillmor wrote: > gdb /usr/local/sbin/imap4d _______________________________________________ Bug-mailutils mailing list [email protected] https://lists.gnu.org/mailman/listinfo/bug-mailutils
