addressalign-toparrow-leftarrow-rightbackbellblockcalendarcameraccwcheckchevron-downchevron-leftchevron-rightchevron-small-downchevron-small-leftchevron-small-rightchevron-small-upchevron-upcircle-with-checkcircle-with-crosscircle-with-pluscontroller-playcrossdots-three-verticaleditemptyheartexporteye-with-lineeyefacebookfolderfullheartglobegmailgooglegroupshelp-with-circleimageimagesinstagramFill 1light-bulblinklocation-pinm-swarmSearchmailmessagesminusmoremuplabelShape 3 + Rectangle 1ShapeoutlookpersonJoin Group on CardStartprice-ribbonprintShapeShapeShapeShapeImported LayersImported LayersImported Layersshieldstartickettrashtriangle-downtriangle-uptwitteruserwarningyahoo

[ruby-81] Debugging C daemons

From: Loqi
Sent on: Friday, April 25, 2008 1:40 PM
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

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