From: Matt Maycock Date: 2006-03-31T06:24:06+09:00 Subject: Re: debuggery of extensions from segfault ------=_Part_9924_13954894.1143753844494 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable Content-Disposition: inline and here I spent a great deal of time wrote something to add debug statements to all my code. ara t howard, you are wonderful. ~Matthew Maycock On 3/30/06, ara.t.howard@noaa.gov wrote: > > On Fri, 31 Mar 2006, Matt Maycock wrote: > > > I wrote my first extension! > > > > The functions work fine... except when I'm making multiple calls in a > loop. > > Then, it segfaults. I wrote some more code in my extension to output > > equivalent c code to do the same job - even across my multiple data, an= d > it > > does fine. So I'm thinking either there's some weirdness I don't know > > about, I'm accidentally clobbering some data, or there's a bug in ruby > that > > I stumbled across (ruby 1.8.4 (2005-12-24) [powerpc-darwin8.4.0]) - my > > question is, how do I figure this out? Right now, my plan is to add > > fprintf(stderr, "%s [%d]\n", __FILE__, __LINE__); to the end of every > line > > in my c extension and see what gets dumped... but is there an easier > way? > > > > Thanks, > > > > ~Matthew Maycock > > - write a script called 'a.rb' that uses your ext > > - start ruby in gdb using > > gdb `which ruby` > > - run at gdb prompt using (assuming a.rb in cwd) > > > run 'a.rb' > > - when you seg fault type > > > where > > > hth. > > > > -a > -- > share your knowledge. it's a way to achieve immortality. > - h.h. the 14th dali lama > > -- There's no word in the English language for what you do to a dead thing to make it stop chasing you. ------=_Part_9924_13954894.1143753844494--