addressalign-toparrow-leftarrow-rightbackbellblockcalendarcameraccwchatcheckchevron-downchevron-leftchevron-rightchevron-small-downchevron-small-leftchevron-small-rightchevron-small-upchevron-upcircle-with-checkcircle-with-crosscircle-with-pluscrossdots-three-verticaleditemptyheartexporteye-with-lineeyefacebookfolderfullheartglobegmailgoogleimageimagesinstagramlinklocation-pinmagnifying-glassmailminusmoremuplabelShape 3 + Rectangle 1outlookpersonplusprice-ribbonImported LayersImported LayersImported Layersshieldstartickettrashtriangle-downtriangle-uptwitteruseryahoo

Re: [ruby-81] Debugging C daemons

From: Tony P.
Sent on: Friday, April 25, 2008 2:32 PM
Use gdb to attach to the process number.   Another way to handle it is  
to call strace on the qmail init script used to invoke qmail itself  
(probably located in /etc/rc.d/qmail on most distros).


On Apr 25, 2008, at 1:40 PM, Loqi wrote:

> I'm making a Rails application that integrates with an email server,  
> but I'm a little stuck. I've got qmail (a fully public domain set of  
> C source code) properly running on a Fedora server. Now there's a  
> set of properly configured daemons listening for SMTP traffic and  
> responding in the usual ways. There's no "real" email traffic yet so  
> I can mess around with it all I want during development. The next  
> step is to modify the C code of qmail so it can do unusual mail  
> handling, with users self-administering their weird non-standard  
> mail rules through a web interface.
> So this is a non-Ruby problem, but there seem to be people around  
> here who know about such things. I've done plenty of C coding over  
> the years, but I don't quite know where to begin with a Linux  
> daemon. What I'd like to do is load a running daemon into a debugger  
> and step through it to see what's going on. It's the lazy way to  
> unravel the code, and I'm feeling like letting the debugger do much  
> of my work for me.
> Ideally, I'd like not only to write and debug what I need, but also  
> to give my work back to the community if it's of interest to anyone  
> else.
> So,
> 1. How is this done? (messing around with daemons in a debugger, and  
> maybe distributing patches)
> or,
> 2. Where's a good place to learn how this is done?
> Loqi
> --
> Please Note: If you hit "REPLY", your message will be sent to  
> everyone on this mailing list ([address removed])
> http://ruby.meetu...­
> This message was sent by Loqi ([address removed]) from The East Bay  
> Ruby Meetup Group.
> To learn more about Loqi, visit his/her member profile: http://ruby.meetu...­
> To unsubscribe or to update your mailing list settings, click here: http://www.meetup...­
> Meetup Support: [address removed]
> 632 Broadway New York NY 10012 USA

Our Sponsors

People in this
Meetup are also in:

Sign up

Meetup members, Log in

By clicking "Sign up" or "Sign up using Facebook", you confirm that you accept our Terms of Service & Privacy Policy